zoukankan      html  css  js  c++  java
  • 动态将MenuStrip控件中的信息添加到TreeView控件中

    本文详细介绍怎样将MenuStrip控件中的信息添加到TreeView控件中

    首先在WinForm窗体中添加一个MenuStrip控件和TreeView控件,根据个人的爱好把控件布局好后。在窗体的加载事件中(根据自己的情况而定)添加如下的代码:

       /// <summary>
       /// 窗体加载时事件
       /// </summary>
       /// <param name="sender"></param>
       /// <param name="e"></param>
      private void FrmServerManager_Load(object sender, EventArgs e)
         {
       treeView1.Nodes.Clear();//清空导航菜单
            //调用GetMenu方法,将menuStrip1控件的子菜单添加到treeView1控件中
             GetMenu(treeView1, menuStrip1);
            this.treeView1.ExpandAll();

      }

    然后自定义GetMenu(treeView1, menuStrip1)方法。代码如下:

    #region 将MenuStrip控件中的信息添加到TreeView控件中
    /// <summary>
    /// 将MenuStrip控件中的信息添加到TreeView控件中
    /// </summary>
    /// <param name="treeV">TreeView控件</param>
    /// <param name="MenuS">MenuStrip控件</param>
    public void GetMenu(TreeView treeV, MenuStrip MenuS)
    {
    for (int i = 0; i < MenuS.Items.Count; i++) //遍历MenuStrip组件中的一级菜单项
    {
    //将一级菜单项的名称添加到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);
    }
    }
    }
    #endregion

    最后来看一下效果图,如下:

    当然了你还可以根据自己的需要处理一下treeView相关的事件来显示相应的应用窗体。

  • 相关阅读:
    [CDQ分治][Treap][树状数组]JZOJ 4419 Hole
    [数论]JZOJ 4421 aplusb
    [LCA]JZOJ 3717 火车
    [数位DP]JZOJ 3363 Number
    user模块User表
    数据库配置
    后台配置
    后台:Django项目创建
    虚拟环境的搭建
    luffy 那点事
  • 原文地址:https://www.cnblogs.com/wangsaiming/p/2065626.html
Copyright © 2011-2022 走看看