已有56人关注
把父窗体的菜单加载到子窗体的treeview中,该怎么写呀?请老师指点一下呀
发表在C#图书答疑 2010-07-16
是否精华
版块置顶:
 private void frm_Networking_Maintenance_Load(object sender, EventArgs e)
        {
            cls_treeViewMenu treeV = new cls_treeViewMenu();
            frm_main fmain = new frm_main();
            treeV.GetMenu(treeView1,frm_main.menuStrip); [font color=#FF0000] //此处我要调用另一个窗体的menu菜单,使菜单加载到treeView1中,我试过用frm_main.menuStrip不对,要怎么写才可以呀,请老师指点一下,谢谢
[/font]        }



//以下是类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Windows.Forms;

namespace IT部门管理系统
{
    class cls_treeViewMenu
    {
        public void GetMenu(TreeView treeV, MenuStrip MenuS)
        {
            //遍历MenuStrip菜单中的一级菜单项
            for (int i = 0; i < MenuS.Items.Count; i++)
            {
                //将一级菜单项的名称添加到TreeView控件的根节点中,并设置当前节点的子节点newNode1
                TreeNode newNode1 = treeV.Nodes.Add(MenuS.Items[i].Text);
                //将当前菜单项的所有相关信息存入到ToolStripDropDownItem对象中
                ToolStripDropDownItem newmenu = (ToolStripDropDownItem)MenuS.Items[i];
                //判断当前菜单项中是否有二级菜单项
                if (newmenu.HasDropDownItems && newmenu.DropDownItems.Count > 0)
                    for (int j = 0; j < newmenu.DropDownItems.Count; j++)
                    {                    //遍历二级菜单项
                        /*将二级菜单名称添加到TreeView控件的子节点newNode1中,并设置当前节点的
                               子节点为newNode2 */
                        TreeNode newNode2 = newNode1.Nodes.Add(newmenu.DropDownItems[j].Text);
                        //将当前菜单项的所有相关信息存入到ToolStripDropDownItem对象中
                        ToolStripDropDownItem newmenu2 = (ToolStripDropDownItem)newmenu.DropDownItems[j];
                        //判断二级菜单项中是否有三级菜单项
                        if (newmenu2.HasDropDownItems && newmenu2.DropDownItems.Count > 0)
                            for (int p = 0; p < newmenu2.DropDownItems.Count; p++)          //遍历三级菜单项
                                //将三级菜单项名称添加到TreeView控件的子节点newNode2中
                                newNode2.Nodes.Add(newmenu2.DropDownItems[p].Text);
                    }
            }
        }


    }
}

分享到:
精彩评论 1
小科_mrkj
学分:43 LV2
2010-07-17
沙发
读者朋友:
    您好,添加到窗体上的控件默认是私有的,如果要在其他窗体中使用,可以通过修改它的Modifiers属性,将其设置为公有的。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照