首页 > 编程语言 >C# treeview 如何遍历MenuStrip的菜单

C# treeview 如何遍历MenuStrip的菜单

时间:2023-11-01 13:12:38浏览次数:26  
标签:DropDownItems Count treeview C# 菜单 菜单项 ToolStripDropDownItem MenuStrip 节点

需求分析: 数据菜单有四级菜单,需要在程序界面登录的时候遍历菜单的内容

开发环境:VS C# winform

步骤1:新建一个窗体

步骤2:新建一个MenuStrip,并且定义内部的名称

步骤3:新建一个Treeview

步骤4:开始编程,定义一个参数函数: GetMenu(TreeView  V,MenuStrip  S)

步骤5:编写参数函数的代码

 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中,并设置当前节点的子节点newNode3
                                TreeNode newNode3 = newNode2.Nodes.Add(newmenu2.DropDownItems[p].Text);
                                //将当前菜单项的所有相关信息存入到ToolStripDropDownItem对象中
                                ToolStripDropDownItem newmenu3 = (ToolStripDropDownItem)newmenu2.DropDownItems[p];
                                //判断是否存在四级菜单
                                if (newmenu3.HasDropDownItems && newmenu3.DropDownItems.Count > 0)
                                    for (int q = 0; q < newmenu3.DropDownItems.Count; q++)    //遍历四级菜单项
                                      //将四级菜单名称添加到TreeView组件的子节点newNode2中
                                        newNode3.Nodes.Add(newmenu3.DropDownItems[q].Text);
                            }
                    }
            }
        }

  

标签:DropDownItems,Count,treeview,C#,菜单,菜单项,ToolStripDropDownItem,MenuStrip,节点
From: https://www.cnblogs.com/tyxajh/p/17802864.html

相关文章

  • C# 控件基础1 | 从多态角度理解、遍历菜单栏控件ToolSplit
    一、文章背景1.多态简单描述多态是同一个行为,具有不同的结果。比如都是“叫”,而狗和猫的叫法,声波等形态不一样。多态离不开重载,利用重载某个方法实现其在派生类自己的功能。在C#中,每个类型都是多态的,因为包括用户定义类型在内的所有类型都继承自Object。2.多态在开发中的应......
  • C#中menuStrip1控件详细使用方法
    在C#中,MenuStrip控件用于创建一个菜单栏,允许用户通过点击菜单项来执行相应的操作。MenuStrip提供了一种方便的方式来创建和管理菜单项及其事件处理程序。以下是MenuStrip控件的详细使用方法:在窗体上放置MenuStrip控件:在VisualStudio的窗体设计器中,从工具箱中拖动并放置一个......
  • SAP CDS view 里的 currency_conversion 功能介绍
    SAPABAPCDSView的currency_conversion函数是一种用于在CDS(CoreDataServices)视图中执行货币转换的功能。在SAP系统中,经常需要在不同货币之间进行转换,以便在报表和分析中展示一致的货币金额。currency_conversion函数允许在CDS视图中定义货币转换规则,以便在查询结果中将数值......
  • SAP CDS view 里的 COALESCE 函数
    在SAPABAPCDS(CoreDataServices)View中,COALESCE函数是用于处理NULL值的一种功能。COALESCE函数接受多个参数,并返回第一个非NULL值参数。这意味着如果第一个参数不为NULL,则返回第一个参数的值;如果第一个参数为NULL,则返回第二个参数的值;以此类推,直到找到第一个非NUL......
  • DNS_PROBE_FINISHED_BAD_CONFIG 错误分析
    常见错误电脑上能够正常使用微信电脑版访问网络,但在Chrome浏览器里无法打开任何网页,出现了DNS_PROBE_FINISHED_BAD_CONFIG的提示。这种错误通常是由于DNS(DomainNameSystem,域名系统)配置错误引起的。在本文中,我将详细解释DNS_PROBE_FINISHED_BAD_CONFIG错误的含义,并提供一些......
  • SAP Fiori Elements 应用里的 ui5-local.yaml
    SAPFioriElements是SAP的一种开发框架,用于快速构建SAPFiori应用程序。SAPFioriElements应用程序的一个重要方面是模拟服务器(mockserver),它允许在本地开发环境中模拟OData服务,以便在没有真实后端服务的情况下进行开发和测试。ui5-local.yaml文件用于配置本地开发环境,......
  • RCurl库做爬虫效率怎么样
    RCurl库是一个非常强大的网络爬虫工具,它提供了许多功能,例如从服务器下载文件、保持连接、上传文件、采用二进制格式读取、句柄重定向、密码认证等等。使用RCurl库进行网络爬虫可以方便地获取网站上的数据,并进行数据分析和挖掘。在使用RCurl库进行网络爬虫时,需要注意一些法律和道德......
  • SAP UI5 中的 sap-fe-mockserver
    SAPUI5是一种用于构建现代Web应用程序的开发框架,它是SAP(Systems,Applications,andProductsinDataProcessing)公司推出的一种前端技术。它提供了丰富的控件库、MVC(Model-View-Controller)架构模式、数据绑定、主题定制等功能,帮助开发人员构建直观、高度可定制且易......
  • 【AutoML】AutoKeras 的安装和环境配置(VSCode)
    本地环境中已经有太多的工作配置了(Python、Java、Maven、Docker等等),为了不影响其他环境运行,我选择直接在VSCode中创建工作空间并配置好AutoKeras(反正最后也是要在VSCode中进行开发的)。<br>打开VSCode后先创建一个工作区,然后在终端运行以下代码:python3-mvenvautokeras-......
  • Linux 下 使用点阵在LCD上显示汉字,字符
    @TOC前言这篇文章主要讲一下如何在LCD上使用点阵显示汉字,字符,修改颜色及效果展示。其中包含了几个核心函数,我们需要了解。一、显示字符1.获取点阵:各个字符对应的点阵都保存在一个数组里,大家可以打开font_8x16.c中得到点阵。(不同的点阵对应不同的代码,这里我使用的是8x16的点......