当前位置:编程学习 > C#/ASP.NET >>

C# 遍历右键二级菜单

C# 遍历右键二级菜单

foreach (ToolStripItem item in this.contextMenuStrip1.Items)       //右键菜单
                {
                    res.ApplyResources(item, item.Name);
                    foreach (ToolStripItem subItem in ???)         //这句话咋写?二级菜单的
                    {
                        ???
                    }
                }

多谢先!! --------------------编程问答-------------------- http://bbs.csdn.net/topics/390604598?page=1#post-395701349 --------------------编程问答--------------------
引用 1 楼 caozhy 的回复:
http://bbs.csdn.net/topics/390604598?page=1#post-395701349


貌似不大一样哦,管理员大人。
右键菜单跟窗体的菜单还是有分别的 --------------------编程问答--------------------
引用 1 楼 caozhy 的回复:
http://bbs.csdn.net/topics/390604598?page=1#post-395701349



先谢谢哦
顺便帮我看看http://bbs.csdn.net/topics/390618981 --------------------编程问答-------------------- 添加的时候绑定事件即可
为何要遍历 --------------------编程问答-------------------- 一个方法里是不能两次foreach的我记得,你先用一个方法foreach第一层的,再用个方法foreach第二层的这样也可以的 --------------------编程问答--------------------
引用 4 楼 wawd74520 的回复:
添加的时候绑定事件即可
为何要遍历


哦,我现在做的是窗体本地化。就是我的winform有三种语言:简体中文,繁体中文,英文。

在右键菜单里面添加个二级菜单,可以自由切换的。所以才要遍历二级菜单,取得他们的text,然后切换语言的时候做替换 --------------------编程问答--------------------
引用 5 楼 u011130289 的回复:
一个方法里是不能两次foreach的我记得,你先用一个方法foreach第一层的,再用个方法foreach第二层的这样也可以的

foreach (ToolStripItem subItem in items.DropDownItems)         //这句话咋写?二级菜单的
{
    麦斯items下没有DropDownItems这个方法哦???
} --------------------编程问答--------------------
引用 7 楼 hupo376787 的回复:
Quote: 引用 5 楼 u011130289 的回复:

一个方法里是不能两次foreach的我记得,你先用一个方法foreach第一层的,再用个方法foreach第二层的这样也可以的

foreach (ToolStripItem subItem in items.DropDownItems)         //这句话咋写?二级菜单的
{
    麦斯items下没有DropDownItems这个方法哦???
}

我意思是叫你自己写一个方法获取第一节点的数据,再写个方法把第一节点的数据做参数写个方法遍历 --------------------编程问答--------------------
引用 8 楼 u011130289 的回复:
Quote: 引用 7 楼 hupo376787 的回复:

Quote: 引用 5 楼 u011130289 的回复:

一个方法里是不能两次foreach的我记得,你先用一个方法foreach第一层的,再用个方法foreach第二层的这样也可以的

foreach (ToolStripItem subItem in items.DropDownItems)         //这句话咋写?二级菜单的
{
    麦斯items下没有DropDownItems这个方法哦???
}

我意思是叫你自己写一个方法获取第一节点的数据,再写个方法把第一节点的数据做参数写个方法遍历


我原来的双嵌套foreach也就是这个意思的。

按照你的意思,获取第一节点后,再往下的节点就获取不到了 --------------------编程问答-------------------- 还没有搞定??? --------------------编程问答-------------------- 给你的代码稍微变通下嘛,只有根节点的不同,其它都一样的。 --------------------编程问答--------------------
引用 10 楼 caozhy 的回复:
还没有搞定???
木有。木有啊

其实之前我也问过斑竹你的,你没鸟我
--------------------编程问答--------------------
引用 11 楼 caozhy 的回复:
给你的代码稍微变通下嘛,只有根节点的不同,其它都一样的。

好我先试试,不行我再请教。嘿嘿。
其实之前没大看那个代码 --------------------编程问答-------------------- combobox?不是菜单么。

你的问题是什么。 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 14 楼 caozhy 的回复:
combobox?不是菜单么。

你的问题是什么。
斑竹,上个图希望给打个马赛克啊,没权限删除 --------------------编程问答--------------------
引用 14 楼 caozhy 的回复:
combobox?不是菜单么。

你的问题是什么。


斑竹还在线么?能给个编辑帖子的权限么? --------------------编程问答--------------------
引用 17 楼 hupo376787 的回复:
Quote: 引用 14 楼 caozhy 的回复:

combobox?不是菜单么。

你的问题是什么。


斑竹还在线么?能给个编辑帖子的权限么?


给你删除了,你重新发下。 --------------------编程问答--------------------
引用 18 楼 caozhy 的回复:
给你删除了,你重新发下。

就是这个,做的一个报表,添加的带二级菜单的右键菜单。

1 --------------------编程问答--------------------
引用 18 楼 caozhy 的回复:
Quote: 引用 17 楼 hupo376787 的回复:

Quote: 引用 14 楼 caozhy 的回复:

combobox?不是菜单么。

你的问题是什么。


斑竹还在线么?能给个编辑帖子的权限么?


给你删除了,你重新发下。


引用 18 楼 caozhy 的回复:
Quote: 引用 17 楼 hupo376787 的回复:

Quote: 引用 14 楼 caozhy 的回复:

combobox?不是菜单么。

你的问题是什么。


斑竹还在线么?能给个编辑帖子的权限么?


给你删除了,你重新发下。


点击切换为英文或者其他语言后,仅仅一级菜单变了,二级菜单还是老样子。
--------------------编程问答--------------------


foreach (ToolStripItem item in this.contextMenuStrip1.Items)
            {
                if (item is ToolStripMenuItem)
                {
                    foreach (ToolStripItem subItem in ((ToolStripMenuItem)item).DropDownItems)
                    {
                        
                    }
                }
            }


--------------------编程问答--------------------
引用 21 楼 AgnoyQiu 的回复:


foreach (ToolStripItem item in this.contextMenuStrip1.Items)
            {
                if (item is ToolStripMenuItem)
                {
                    foreach (ToolStripItem subItem in ((ToolStripMenuItem)item).DropDownItems)
                    {
                        
                    }
                }
            }





你好,我试了怎么没有反应、。?
System.ComponentModel.ComponentResourceManager res = new ComponentResourceManager(typeof(FrmMain));
                foreach (ToolStripItem item in this.contextMenuStrip1.Items)       //右键菜单
                {
                    //EnumChildMenu(item);
                    res.ApplyResources(item, item.Name);

                    if (item is ToolStripMenuItem)
                    {
                        foreach (ToolStripItem subItem in ((ToolStripMenuItem)item).DropDownItems)
                        {
                            res.ApplyResources(subItem, subItem.Name);
                        }
                    }
                }
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,