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

时间: 2024-11-10 22:20:50

将MenuStrip控件中的信息添加到TreeView控件中【转载】的相关文章

《将一个磁盘文件中的信息复制到另一个磁盘文件中(怎样向文件读写字符)》

注意:程序中的feof(in)是检查in所指向的文件是否结束.如果是,则函数值为1(真),否则为0(假), 也就是“!feof(in)为真”,在while循环中检查"!feof(in)"为真,就执行循环体. //将一个磁盘文件中的信息复制到另一个磁盘文件中去,要求将上例建立的f:\\FILE_1\\file.txt文件中的//内容复制到另一个磁盘文件f:\\FILE_1\\file_1.txt文件中.#include<stdio.h>#include<stdlib.h

用python库openpyxl操作excel,从源excel表中提取信息复制到目标excel表中

现代生活中,我们很难不与excel表打交道,excel表有着易学易用的优点,只是当表中数据量很大,我们又需要从其他表册中复制粘贴一些数据(比如身份证号)的时候,我们会越来越倦怠,毕竟我们不是机器,没法长时间做某种重复性的枯燥操作.想象这样一个场景,我们有个几千行的表要填,需要根据姓名输入其对应的身份证号,但之前我们已经做过一个类似的表,同样的一些人的姓名跟身份证号是完整的,那么我们就需要通过一个个查找姓名,然后把身份证号码复制到我们当前要做的表里去. 当我日复一日重复着这些操作的时候,我都很想有

将数据表中的数据添加到ComboBox控件中

实现效果: 知识运用: ComboBox控件的DataSource 属性 //获取或设置ComboBox的数据源 public Object DataResouce{get;set;} //属性值:任何实现了IList接口的对象 如DataSet 泛型集合或数组 DisplayMember属性 //获取或设置要为此列表控件显示的属性 public string DisplayMember{get;set;}  ValueMember属性 //用于列表控件中数据项的实际值 默认为string.Em

TreeView控件的应用

下面展示的是一个用Treeview控件编辑的一个住房信息管理系统的简单domo,其中Form1为主界面,Form2象征性的展示每一个子项: Form1: namespace 用树型列表动态显示菜单 { partial class Form1 { /// <summary> /// 必需的设计器变量. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary&g

在工作表左侧中添加TreeView控件

开发环境基于VSTO:visual studio 2010,VB .Net,excel 2007,文档级别的定制程序. 需求是在sheet的左侧停靠System.Windows.Forms.TreeView控件,实现类似资源浏览器的效果,另外,tree节点使用自定义的图标,支持复选框. 首先准备好树节点的图标,使用visual studio 2010自带的图标可以省去很多麻烦(在安装目录\Common7\VS2010ImageLibrary).我挑选了4个16x16大小的图标拷贝到vsto工程下

用户控件、动态创建添加

使用用户控件: 项目右键添加,用户控件,选择用户控件cs 在生成的项目中用设计编辑,点击菜单栏生成,生成解决方案,然后用户控件就可以使用了 制作简单的qq窗口,根据数据库自动添加数据 制作用户控件: 实体类:(qq,haoyou) qq: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace QQ.App_Code { public class qq { pu

基于Treeview控件遍历本地磁盘

一.前言 Treeview控件常用于遍历本地文件信息,通常与Datagridview与ImageList搭配.ImageList控件用于提供小图片给TreeView控件,DatagridView通常显示TreeNode节点下文件及文件夹的信息. 效果图:       二.代码 初始化窗体: private void ManagerForm_Load(object sender, EventArgs e) { InitialDataGridView(dgv_Local); //初始化本地dgv I

在现有WinForms应用中添加C1Themes主题控件

在本博客中,展示了如何在现有的WinForms应用中添加C1Themes控件支持. 本文使用名为C1dView Samples的应用程序,它包含C1Reports.它是基于C1Ribbon界面设计的C1Report/C1PrintDocument浏览应用程序.该应用最初没有包含主题的支持. C1DView示例下载:C1dView.zip (94.96 kb) (下载次数: 7) 如下描述的简单的步骤,为最终用户提供在程序中选择使用包含于C1Themes控件产品中的若干主题的支持.(请注意:在进行

DataGridView控件选中单元格、直接在控件中修改信息

                                                           原文取自个人博客:www.jycoder.com欢迎访问 一,获取DataGridView控件中的当前单元格 若要与DataGridView进行交互,通常要求用编程的方式发现哪个单元格出于活动状态.如果需要更改单元格,可通过DataGridView控件的CurrentCell属性来获取当前单元格的信息: 语法如下: Public DataGridViewCell CurrentC