C# TreeView控件使用技巧汇总

 更新时间:2022年08月05日 14:28:04   作者:IC00​​​​​​​  
这篇文章主要介绍了C# TreeView控件使用技巧汇总,TreeView控件在窗体应用里面使用也是频率比较高的,我们在使用TreeView一般是对资源的分层展示,类似数据结构里面树的凹入表示法

前言

TreeView控件在窗体应用里面使用也是频率比较高的,我们在使用TreeView一般是对资源的分层展示,类似数据结构里面树的凹入表示法。很多公司都是使用TreeView控件作为文件显示信息的分级视图,如同Windows里的资源管理器的目录。TreeView控件中的各项信息都有一个与之相关的Node对象。TreeView显示Node对象的分层目录结构,每个Node对象均由一个Label对象和其相关的位图组成。在建立TreeView控件后,可以展开和折叠、显示或隐藏其中的节点。TreeView控件一般用来显示文件和目录结构、文档中的类层次、索引中的层次和其他具有分层目录结构的信息。

1.TreeView控件使用

1.1 TreeView控件常用的属性

Index :获取树节点在树节点集合中的位置
Nodes :获取分配给树视图控件的树节点集合
Parent :获取或设置控件的父容器
SelectedNode :获取或设置当前在树视图控件中选定的树节点
ExpandAll :展开所有树节点
Checked: 获取或设置一个值,用以指示树节点是否处于选中状态
Text :获取或设置在树节点标签中显示的文本
Expand: 展开树节点
Clear: 清空树
Remove :从树视图控件中移除当前树节点。

1.2 创建窗体文件并修改名称

2.设计界面

我们采用简单案例来实现效果

3.添加和删除数据

3.1 点击treeView编辑结点

3.2 在TreeView编辑器添加数据

注:我们这里属于静态添加数据,后面做的删除或者是添加也是静态的,后面做到删除是不起作用的

3.3 TreeView控件添加根结点操作

注:博主这里的添加并未添加到数据库,只是做一个静态的展示并未静态写入treeView,存在内存里结束就释放了

3.4 TreeView控件添加子结点操作

我们需要获取我们选中的结点判断它是否为空,不为空就代表有根结点可以添加,没有就返回选择我们需要添加子节点。

3.5 TreeView控件删除操作

这里我们需要判断我们选择的结点的父结点是否为空,为空代表这个结点是根结点需要整个删除,不为空代表为子结点,我们从父结点找到子结点删除。

3.6 TreeView控件清空树操作

我们这里直接使用clear进行删除就可以了。没有其他操作

4.整体效果展示

4.1代码演示

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace TreeTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            TreeNode treeNode = new TreeNode(textBox1.Text, 2, 2);
            treeView1.Nodes.Add(treeNode);
            treeView1.Select();
        }

        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            TreeNode selectdnode = treeView1.SelectedNode;
            if(selectdnode!=null)
            {
                TreeNode chnode = new TreeNode(textBox2.Text, 2, 2);
                selectdnode.Nodes.Add(chnode);
                selectdnode.Expand();
                treeView1.Select();
            }
            else
            {
                MessageBox.Show("请选择需要添加子节点");
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            TreeNode selectnode = treeView1.SelectedNode;
            TreeNode parentnode = selectnode.Parent; 
            if(parentnode == null)
            {
                treeView1.Nodes.Remove(selectnode);
            }
            else
            {
                parentnode.Nodes.Remove(selectnode);
            }
            treeView1.Select();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            treeView1.Nodes.Clear();
        }

        private void button5_Click(object sender, EventArgs e)
        {
            this.textBox1.Clear();
            this.textBox2.Clear();
        }
    }
}

总结

TreeView控件讲解博主并未使用数据库进行操作,而是简单的使用变量来操作,我们在使用数据库是需要使用结点的深度建立,每一层可能会有一个表,最终到最底层才是我们的数据,我们获取每层Name生成树,实现资源的凹入表示法,

到此这篇关于C# TreeView控件使用技巧汇总的文章就介绍到这了,更多相关C# TreeView控件 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vs 中C#项目读取JSON配置文件的方法

    vs 中C#项目读取JSON配置文件的方法

    这篇文章主要介绍了vs中 C#项目读取JSON配置文件的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • C#中Json反序列化的实现方法

    C#中Json反序列化的实现方法

    这篇文章主要给大家介绍了关于C#中Json反序列化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-06-06
  • 浅谈static a[n*m]={0};中static的作用

    浅谈static a[n*m]={0};中static的作用

    下面小编就为大家带来一篇浅谈static a[n*m]={0};中static的作用。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • C#代码实现PDF文档操作类

    C#代码实现PDF文档操作类

    本篇文章给大家介绍使用pdf文档操作C#代码,本文代码非常简单,代码附有注释,需要注意的是:需要添加itextsharp.dll引用才可以正常通过编译,感兴趣的朋友可以参考下
    2015-10-10
  • C#使用反射和LINQ查询程序集的元数据

    C#使用反射和LINQ查询程序集的元数据

    在 C# 中,反射是一个强大的工具,它允许我们在运行时检查程序集、类型、方法等的元数据,结合 LINQ,我们可以用更简洁和表达力强的方式处理这些信息,本文将详细讲解如何使用反射与 LINQ 查询程序集的元数据,需要的朋友可以参考下
    2024-08-08
  • C#如何打开选择文件对话框和选择目录对话框

    C#如何打开选择文件对话框和选择目录对话框

    这篇文章主要介绍了C#如何打开选择文件对话框和选择目录对话框问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • C#中调用VB中Inputbox类的实现方法

    C#中调用VB中Inputbox类的实现方法

    本文主要介绍在项目中引用Microsoft.VisualBasic,间接使用VB中的各种类库的方法,或者自己创建函数,调用自定义方法,以实现InputBox相关的功能。
    2016-05-05
  • WPF利用DrawingContext实现绘制温度计

    WPF利用DrawingContext实现绘制温度计

    这篇文章主要为大家详细介绍了如何利用WPF和DrawingContext实现绘制温度计,文中的示例代码讲解详细,对我们学习或工作有一定帮助,感兴趣的小伙伴可以了解一下
    2022-09-09
  • C#单例模式Singleton的实现详解

    C#单例模式Singleton的实现详解

    单例模式(Singleton Pattern)是日常开发中最简单的设计模式之一,它提供了一种创建对象的最佳方式,本文主要为大家介绍的是C#单例模式的实现方法,需要的可以参考一下
    2023-05-05
  • C#使用throw和throw ex抛出异常的区别介绍

    C#使用throw和throw ex抛出异常的区别介绍

    这篇文章介绍了C#使用throw和throw ex抛出异常的区别,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10

最新评论