遍历菜单项时,如何获取菜单项的名字。

sindyzhou 2004-11-22 10:37:19
其他的控件一般都有Name属性,怎么菜单就没有呢?
是想实现程序的多语言功能碰到的,用户希望可以在系统运行的时候可以改变使用的语言,就要遍历所有控件,并从资源文件中取出正确的语言文字,其他空间都可以,就菜单没有Name属性,不知道怎么办?
以下是部分代码:
Private Sub ChangeMNULanguage(ByVal L As Language, ByVal MNU As Object, ByVal RM As Resources.ResourceManager)
Dim M As MenuItem, str As String
For Each M In mmuMain.MenuItems
str = RM.GetString(CType(M, Menu).ToString & ".Text")
If str <> "" Then M.Text = str
If M.MenuItems.Count <> 0 Then ChangeMNULanguage(L, M, RM)
Next
End Sub

问题就在 CType(M, Menu).ToString 上面,我在资源文件里看了,使用的菜单名 + ".Text"记录的,可怎样把纪录的内容取出来呢?
...全文
156 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
北京的雾霾天 2004-11-22
  • 打赏
  • 举报
回复
菜单是没有Name这个属性的,你可以用Text或索引来指定是哪一个菜单项.
CloneCenter 2004-11-22
  • 打赏
  • 举报
回复
MenuItem 没有Name和Tag属性,我也曾经折腾了几天!
Night_Elf 2004-11-22
  • 打赏
  • 举报
回复
通过反射取得该MenuItem的实例,然后给这个实例的text附值。

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧