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相关的事件来显示相应的应用窗体。

  • 相关阅读:
    FZU 2150 Fire Game
    POJ 3414 Pots
    POJ 3087 Shuffle'm Up
    POJ 3126 Prime Path
    POJ 1426 Find The Multiple
    POJ 3278 Catch That Cow
    字符数组
    HDU 1238 Substing
    欧几里德和扩展欧几里德详解 以及例题CodeForces 7C
    Codeforces 591B Rebranding
  • 原文地址:https://www.cnblogs.com/happylyyer/p/4257769.html
Copyright © 2011-2022 走看看