广告
返回顶部
首页 > 资讯 > 精选 >C#怎么实现树形图列表
  • 499
分享到

C#怎么实现树形图列表

2023-07-04 19:07:01 499人浏览 八月长安
摘要

这篇“C#怎么实现树形图列表”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#怎么实现树形图列表”文章吧。效果代码publi

这篇“C#怎么实现树形图列表”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#怎么实现树形图列表”文章吧。

效果

C#怎么实现树形图列表

代码

public partial class FORM1 : Form{    public Form1()    {        InitializeComponent();    }    #region 将MenuStrip控件中的信息添加到TreeView控件中    /// <summary>    /// 将MenuStrip控件中的首行命令项添加到TreeView控件中    /// </summary>    /// <param treeV="TreeView">TreeView控件</param>    /// <param MenuS="MenuStrip">MenuStrip控件</param>    public void GetMenu(TreeView treeV, MenuStrip MenuS)    {        bool Var_Bool = true;        for (int i = 0; i < MenuS.Items.Count; i++) //遍历MenuStrip组件中的一级菜单项        {            //将一级菜单项的名称添加到TreeView组件的根节点中,并设置当前节点的子节点newnode1            TreeNode newNode1 = treeV.Nodes.Add(MenuS.Items[i].Text);            if (MenuS.Items[i].Enabled == false) //判断当前项是否为可用            {                newNode1.ForeColor = Color.Silver; //改变树节点的字体颜色为不可用色                Var_Bool = false;            }            else            {                newNode1.ForeColor = Color.Black; //改变树节点的字体颜色为可用色                Var_Bool = true;            }            newNode1.Tag = 0; //标识,有子项的命令项            //将当前菜单项的所有相关信息存入到ToolStripDropDownItem对象中            ToolStripDropDownItem newmenu = (ToolStripDropDownItem) MenuS.Items[i];            GetCavernMenu(newNode1, newmenu, Var_Bool); //添加多层命令项        }    }    /// <summary>    /// 将MenuStrip控件中的多层命今项添加到TreeView控件中    /// </summary>    /// <param newNodeA="TreeNode">TreeNode对象</param>    /// <param newmenuA="ToolStripDropDownItem">ToolStripDropDownItem对象</param>    /// <param BL="bool">标识(是否可用)</param>    public void GetCavernMenu(TreeNode newNodeA, ToolStripDropDownItem newmenuA, bool BL)    {        bool Var_Bool = true;        if (newmenuA.HasDropDownItems && newmenuA.DropDownItems.Count > 0)            for (int j = 0; j < newmenuA.DropDownItems.Count; j++) //遍历二级菜单项            {                //将二级菜单名称添加到TreeView组件的子节点newNode1中,并设置当前节点的子节点newNode2                TreeNode newNodeB = newNodeA.Nodes.Add(newmenuA.DropDownItems[j].Text);                Var_Bool = true;                if (BL == false) //判断当前命令项的上一级命令是否可用                {                    newNodeB.ForeColor = Color.Silver; //设置当前命令项的字体颜色为不可用色                    newNodeB.Tag = 0; //标识,不显示相应的窗体                    Var_Bool = false;                }                else                {                    if (newmenuA.DropDownItems[j].Enabled == false) //判断当前命令项是否为可用                    {                        newNodeB.ForeColor = Color.Silver; //设置当前命令项的字体颜色为不可用色                        newNodeB.Tag = 0; //标识,不显示相应的窗体                        Var_Bool = false;                    }                    else                    {                        newNodeA.ForeColor = Color.Black; //设置当前命令项的字体颜色为可用色                        newNodeB.Tag = int.Parse(newmenuA.DropDownItems[j].Tag.ToString()); //标识,显示相应的窗体                    }                }                //将当前菜单项的所有相关信息存入到ToolStripDropDownItem对象中                ToolStripDropDownItem newmenuB = (ToolStripDropDownItem) newmenuA.DropDownItems[j];                if (newmenuB.HasDropDownItems && newmenuA.DropDownItems.Count > 0) //如果当前命令项有子项                {                    newNodeB.Tag = 0; //标识,有子项的命令项                    GetCavernMenu(newNodeB, newmenuB, Var_Bool); //调用递归方法                }            }    }    #endregion    #region 打开MenuStrip控件或TreeView控件相应的窗体    /// <summary>    /// 打开MenuStrip控件或TreeView控件相应的窗体    /// </summary>    /// <param n="int">标识</param>    /// <param FName="string">名称</param>    public void frm_show(int n, string FName)    {        switch (n) //通过标识调用各子窗体        {            case 0: break;            case 1:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 2:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 3:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 4:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 5:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 6:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 7:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 8:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 9:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 10:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 11:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 12:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 13:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 14:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 15:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 16:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 17:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 18:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 19:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 21:            {                //打开记事本                System.Diagnostics.Process.Start("notepad.exe");                break;            }            case 22:            {                //打开计算器                System.Diagnostics.Process.Start("calc.exe");                break;            }            case 23:            {                //打开Word文档                System.Diagnostics.Process.Start("WINWORD.EXE");                break;            }            case 24:            {                //打开excel文件                System.Diagnostics.Process.Start("EXCEL.EXE");                break;            }            case 25:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 26:            {                if (MessageBox.Show("确认退出系统吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) ==                    DialogResult.OK)                    Application.Exit(); //关闭当前工程                break;            }            case 27:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 28:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 29:            {                Form2 fp = new Form2(); //实例化一个窗体                fp.Text = FName; //设置窗体的名称                fp.ShowDialog(); //用模试对话框打开窗体                fp.Dispose(); //释放窗体的所有资原                break;            }            case 30:            {                //打开帮助对话框                MessageBox.Show("\t你可以到明日科技网站\t\n\n\t  得到你想知道的\n\t    谢谢使用!!");                break;            }        }    }    #endregion    private void Form1_Load(object sender, EventArgs e)    {        Frm_LoGon F_Logon = new Frm_Logon();        if (F_Logon.ShowDialog() == DialogResult.OK)        {            GetMenu(treeView1, menuStrip1); //将menuStrip1控件中的信息添加到treeView1控件中        }    }    private void ToolStrip_1_Click(object sender, EventArgs e)    {        frm_show(Convert.ToInt16(((ToolStripMenuItem) sender).Tag.ToString()), ((ToolStripMenuItem) sender).Text);    }    private void toolStripButton1_Click(object sender, EventArgs e)    {        frm_show(Convert.ToInt16(((ToolStripButton) sender).Tag.ToString()), ((ToolStripButton) sender).Text);    }    private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)    {        frm_show(Convert.ToInt16(e.Node.Tag.ToString()), e.Node.Text);    }}

以上就是关于“C#怎么实现树形图列表”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: C#怎么实现树形图列表

本文链接: https://www.lsjlt.com/news/346924.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#怎么实现树形图列表
    这篇“C#怎么实现树形图列表”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#怎么实现树形图列表”文章吧。效果代码publi...
    99+
    2023-07-04
  • VUE递归树形怎么实现多级列表
    今天小编给大家分享一下VUE递归树形怎么实现多级列表的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。什么是递归简单来说就是在组...
    99+
    2023-07-02
  • Echarts中怎么实现一个树形图表
    Echarts中怎么实现一个树形图表,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。树图主要用来可视化树形数据结构,是一种特殊的层次类型。实现方法,将series->t...
    99+
    2023-06-20
  • android RecycleView实现多级树形列表
    本文实例为大家分享了android RecycleView实现多级树形列表的具体代码,供大家参考,具体内容如下 实现多级树状列表: 1. Node.java public cla...
    99+
    2022-11-12
  • VUE递归树形实现多级列表
    本文实例为大家分享了VUE递归树形实现多级列表,供大家参考,具体内容如下 什么是递归 简单来说就是在组件中内使用组件本身。 为什么要用递归? 如果出现很多下拉菜单,同级,分级数据,层...
    99+
    2022-11-13
  • android RecycleView如何实现多级树形列表
    这篇文章给大家分享的是有关android RecycleView如何实现多级树形列表的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。本文实例为大家分享了android RecycleView实现多级树形列表的具体代...
    99+
    2023-06-15
  • knockoutjs模板如何实现树形结构列表
    小编给大家分享一下knockoutjs模板如何实现树形结构列表,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!数据结构  ...
    99+
    2022-10-19
  • Android UI 之实现多级树形列表TreeView示例
    所谓TreeView就是在Windows中常见的多级列表树,在Android中系统只默认提供了ListView和ExpandableListView两种列表,最多只支持到二级列...
    99+
    2022-06-06
    treeview Android
  • C# Lambda表达式树怎么实现
    这篇文章主要介绍“C# Lambda表达式树怎么实现”,在日常操作中,相信很多人在C# Lambda表达式树怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C# Lambda表达式树怎么实现”的疑惑有所...
    99+
    2023-06-17
  • Android 开发中怎么利用TreeView实现一个多级树形列表
    今天就跟大家聊聊有关Android 开发中怎么利用TreeView实现一个多级树形列表,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体的实现思路参考下面的项目结构和具体代码:Ele...
    99+
    2023-05-31
    android treeview 多级树形列表
  • Java实现平铺列表(List)互转树形(Tree)结构
    目录需求实践List to Tree递归实现非递归实现实例实践Tree to List递归实现非递归实现实例总结很多时候为满足前后端交互的数据结构需求,往往我们需要把平铺的List数...
    99+
    2022-11-13
    Java List转树形Tree结构 Java 树形Tree转 List
  • Echarts实例教程之树形图表的实现方法
    树图主要用来可视化树形数据结构,是一种特殊的层次类型。 实现方法,将series->type设置为tree。 Echarts的树形图表,可以是正交的,也可以是径向的。 正交树:...
    99+
    2022-11-12
  • vue中Element-ui表格怎么实现树形结构表格
    这篇文章主要为大家展示了“vue中Element-ui表格怎么实现树形结构表格”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中Element-ui表格怎么实现树形结构表格”这篇文章吧。本文...
    99+
    2023-06-15
  • vue怎么实现左侧菜单树形图递归
    这篇文章主要讲解了“vue怎么实现左侧菜单树形图递归”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue怎么实现左侧菜单树形图递归”吧!先说说遇到的坑,由于是子父组件,当时传递使用的是子父组...
    99+
    2023-07-04
  • C++怎么实现二叉树的字形层序遍历
    今天小编给大家分享一下C++怎么实现二叉树的字形层序遍历的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。二叉树的之字形层序遍历...
    99+
    2023-06-19
  • 树形JSON列表怎么利用java与mysql进行拼接
    树形JSON列表怎么利用java与mysql进行拼接?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。例如:[ { "name": ...
    99+
    2023-05-31
    java mysql json
  • C++怎么实现AVL树
    这篇文章主要介绍“C++怎么实现AVL树”,在日常操作中,相信很多人在C++怎么实现AVL树问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++怎么实现AVL树”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-22
  • 怎么用css3实现图片三角形排列
    这篇文章主要讲解了“怎么用css3实现图片三角形排列”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用css3实现图片三角形排列”吧!  当今是个读图时代...
    99+
    2022-10-19
  • php 中怎么实现树形数组
    这篇文章给大家介绍php 中怎么实现树形数组,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。$items = array(   0 =&...
    99+
    2022-10-19
  • Qt QTreeWidget树形结构怎么实现
    本篇内容介绍了“Qt QTreeWidget树形结构怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Qt中实现树形结构可以使...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作