标题:VB.net支持宏替换吗?
只看楼主
梦幻倩影
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:162
专家分:352
注 册:2016-8-19
结帖率:100%
已结贴  问题点数:20 回复次数:9 
VB.net支持宏替换吗?
支持宏替换吗?
dim mymenu as string
mymenu="RefgrgToolStripMenuItem.Enabled = False"

&mymenu出错
请问如何让变量mymenu所代表的语句执行?
搜索更多相关主题的帖子: 如何 False 
2016-09-30 10:11
梦幻倩影
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:162
专家分:352
注 册:2016-8-19
得分:0 
my = "RefgrgToolStripMenuItem.Enabled = True"
        Dim sc As New Object
        sc = CreateObject("ScriptControl")
        sc.language = "VBScript"
        'sc.addcode(my)
        sc.ExecuteStatement(my)
        sc.run("Main")
对象: 'RefgrgToolStripMenuItem'明明存在的,为何提示:
缺少对象: 'RefgrgToolStripMenuItem'
2016-09-30 11:20
梦幻倩影
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:162
专家分:352
注 册:2016-8-19
得分:0 
dim mymenu as string
mymenu="RefgrgToolStripMenuItem"
Me.Controls(mymenu).Enabled = False"

Me.Controls("RefgrgToolStripMenuItem").Enabled = False
均会出错,为何?
2016-10-04 15:45
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
得分:14 
以下是引用梦幻倩影在2016-10-4 15:45:45的发言:

dim mymenu as string
mymenu="RefgrgToolStripMenuItem"
Me.Controls(mymenu).Enabled = False"

Me.Controls("RefgrgToolStripMenuItem").Enabled = False
均会出错,为何?



Me.Controls集合中,你确信存在一个名称为"RefgrgToolStripMenuItem"的对象吗?
另外,my属于.net的对象,避免用作变量名哦。

还有,根据上下文,不知楼主在实现什么功能。

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2016-10-05 08:39
梦幻倩影
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:162
专家分:352
注 册:2016-8-19
得分:0 
RefgrgToolStripMenuItem.Enabled = False
因为这样是可以的,证明菜单的对象名称没错
2016-10-05 09:17
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
得分:0 
我想,你的这个RefgrgToolStripMenuItem对象应当不在Me.Controls的集合中,而是在Me.Controls("某个菜单名").Controls的集合中

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2016-10-05 09:24
梦幻倩影
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:162
专家分:352
注 册:2016-8-19
得分:0 
虽然通过遍历所有控件菜单,如果名称相同,则修改其enabled属性,可以达到我要的效果,但感觉速度会有点慢
是想简化菜单权限的控制代码

我将所有菜单的名称都被我保存在一张表中,通过权限表单设置了每个人的权限
现在想从表中取出菜单控件名称,直接根据权限值修改enabled属性

2016-10-05 09:26
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
得分:0 
MenuStrip1.Items.Find("RefgrgToolStripMenuItem", True)(0).Enabled = False  ' 这样就可以了
其中,MenuStrip1是在Form中画出的默认菜单名称。

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2016-10-05 10:02
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
得分:0 
dim mymenu as string
mymenu ="RefgrgToolStripMenuItem"
MenuStrip1.Items.Find(mymenu, True)(0).Enabled = False

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2016-10-05 10:04
梦幻倩影
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:162
专家分:352
注 册:2016-8-19
得分:0 
菜单还有Find功能啊,这样改一下快多了
2016-10-05 10:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-469346-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.149527 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved