如何根据菜单名称获取菜单对象?

程晨c 2015-12-21 10:59:31
如何根据菜单名称获取菜单对象?
...全文
174 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
exception92 2015-12-21
  • 打赏
  • 举报
回复
引用 3 楼 seleron 的回复:
[quote=引用 2 楼 duanzi_peng 的回复:] 菜单是什么菜单,,给菜单赋值的时候 把对象赋值到Tag属性上。

        private System.Windows.Forms.MenuStrip mnuMain;
        private System.Windows.Forms.ToolStripMenuItem mnuFile;
[/quote] MenuStrip .Items[item的名称]
Poopaye 2015-12-21
  • 打赏
  • 举报
回复
mnuFile这种不就是了吗?直接用啊
程晨c 2015-12-21
  • 打赏
  • 举报
回复
引用 2 楼 duanzi_peng 的回复:
菜单是什么菜单,,给菜单赋值的时候 把对象赋值到Tag属性上。

        private System.Windows.Forms.MenuStrip mnuMain;
        private System.Windows.Forms.ToolStripMenuItem mnuFile;
exception92 2015-12-21
  • 打赏
  • 举报
回复
菜单是什么菜单,,给菜单赋值的时候 把对象赋值到Tag属性上。
程晨c 2015-12-21
  • 打赏
  • 举报
回复
exception92 2015-12-21
  • 打赏
  • 举报
回复
引用 6 楼 seleron 的回复:
[quote=引用 5 楼 duanzi_peng 的回复:] [quote=引用 3 楼 seleron 的回复:] [quote=引用 2 楼 duanzi_peng 的回复:] 菜单是什么菜单,,给菜单赋值的时候 把对象赋值到Tag属性上。

        private System.Windows.Forms.MenuStrip mnuMain;
        private System.Windows.Forms.ToolStripMenuItem mnuFile;
[/quote] MenuStrip .Items[item的名称][/quote] 我是要通过name来找到ToolStripMenuItem,然后设置它的Checked属性。 [/quote] 用7楼的 ToolStripMenuItem mnu = (ToolStripMenuItem)mnuMain.Items[rootMenu]; 这句 转一下。
qbilbo 2015-12-21
  • 打赏
  • 举报
回复
要做类型转换才行。 假设mnuMain下有主菜单[文件](mnuFile),文件菜单下有子菜单[打开](mnuFileOpen)。 ((ToolStripMenuItem)((ToolStripMenuItem)mnuMain.Items["mnuFile"]).DropDownItems["mnuFileOpen"]).Checked = true; 如果再有二级子菜单,就再用DropDownItems属性往下取... 可写如下函数处理:
private void SetMenuChecked(string rootMenu, params string[] subMenus)
        {
            ToolStripMenuItem mnu = (ToolStripMenuItem)mnuMain.Items[rootMenu];
            if (subMenus != null)
            {
                foreach (string s in subMenus)
                {
                    mnu = (ToolStripMenuItem)mnu.DropDownItems[s];
                }
            }
            mnu.Checked = true;
        }
上面给打开菜单加选中状态:就可以写成:SetMenuChecked("mnuFile", "mnuFileOpen"); 如果打开菜单下还有子菜单:[文档1](mnuFileOpenDoc1),就调用:SetMenuChecked("mnuFile", "mnuFileOpen", "mnuFileOpenDoc1");
程晨c 2015-12-21
  • 打赏
  • 举报
回复
引用 5 楼 duanzi_peng 的回复:
[quote=引用 3 楼 seleron 的回复:]
[quote=引用 2 楼 duanzi_peng 的回复:]
菜单是什么菜单,,给菜单赋值的时候 把对象赋值到Tag属性上。


private System.Windows.Forms.MenuStrip mnuMain;
private System.Windows.Forms.ToolStripMenuItem mnuFile;
[/quote]
MenuStrip .Items[item的名称][/quote]

我是要通过name来找到ToolStripMenuItem,然后设置它的Checked属性。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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