C# 窗体应用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控件使用相关推荐

  1. C# 窗体 TreeView控件

    描述 TreeView 一般用于显示文档标题.索引入口.磁盘上的文件和目录.或能被有效地分层显示的其它种类信息.创建了 TreeView 控件之后,可以通过设置属性与调用方法对各 Node 对象进行操 ...

  2. dev treeview控件_在Winform开发框架中使用DevExpress的TreeList和TreeListLookupEdit控件

    DevExpress提供的树形列表控件TreeList和树形下拉列表控件TreeListLookupEdit都是非常强大的一个控件,它和我们传统Winform的TreeView控件使用上有所不同,我一 ...

  3. matlab treeview,treeview控件

    高分在线等:C#中如何给treeview控件上的节点前添比如有一treeview1控件,需要在其所有节点前均加一静态小图标(所有节点我也新手,正好刚用过这功能.如下: 1. 到工具箱中拖一个image ...

  4. C# 系统应用之TreeView控件 (一).显示树状磁盘文件目录及加载图标

    在C#系统应用毕设U盘防御软件中需要实现文件不可恢复的删除,首先需要实现类似于资源管理器的界面,通过TreeView控件显示"我的电脑"所有磁盘文件树状目录并加载相应图标.显示结果 ...

  5. TreeView控件的展开与折叠

    在窗体中添加一个TreeView控件,设置CheckBox属性为True,绑定数据 Archive jkj = new Archive();//自定义类         public void Bin ...

  6. TreeView控件应用--访问文件或文件夹(一)

    C#用TreeView访问文件或文件夹,通过递归,展开所有文件夹(类似资源管理器的树形窗体) 首先,算法是用递归算法,不断的递归文件.以此来遍历整个电脑的磁盘内容,过程也很简单.这种算法的时间复杂度太 ...

  7. kendo treeview 修改节点显示值_VBA学习笔记60-1: Treeview控件

    学习资源:<Excel VBA从入门到进阶>第60集 by兰色幻想 本节讲Treeview控件. TreeView控件是以树形结构显示数据的控件.利用TreeView控件,可以设计出树形结 ...

  8. TreeView 控件帮助文件

    理解层级概念,层级理论上可以有无限级,一般用到四,五级也够用了.最上级的只能有一个,我们把它叫做"爷",接下来是"父",再是"子",再是&q ...

  9. TreeView 控件

    Windows 窗体 TreeView 控件以类似于在 Windows 资源管理器左窗格中显示文件和文件夹的方式显示节点的层次结构.每个节点可能包含称为子节点的其他节点.父节点或包含子节点的节点可以展 ...

最新文章

  1. 数据结构与算法:01 绪论
  2. 互联网协议 — QUIC 快速 UDP 互联网连接
  3. HDU 1175 连连看
  4. moore 数据集_警报数据集(alarm dataset)_机器学习_科研数据集
  5. 区块链应用@纸贵科技:基于阿里云容器服务护航内容版权
  6. java 看书浏览器官_JAVA读取文件流,设置浏览器下载或直接预览操作
  7. 32、[源码]-AOP原理-创建AOP代理
  8. thinkphp6 task异步
  9. JAVA——二维数组打印
  10. XCT学习笔记_X射线
  11. 使用JavaScript进行iframe的DOM操作
  12. html代码入门书记,“seo优化”学习基本的html代码知识(入门级)
  13. SQLServer笔试题
  14. 小程序下单支付在我司的应用
  15. candidate master_已毕业研究生
  16. 轻松玩转树莓派Pico之三、Windows+Ubuntu虚拟机模式下VSCode C语言开发环境搭建
  17. 物联网中设备是如何联动的
  18. Activiti7-流程挂起与激活
  19. N76E003的中断向量函数
  20. android系统中定义的按键码(包含键盘,游戏手柄,TV遥控器)

热门文章

  1. 利用JAVA实现显卡、声卡、网卡通过PCI插槽工作。
  2. cached_network_image 多个图片卡顿崩溃
  3. 海悦生活冲刺上市:外拓压力大,表现不及建发物业,还有项目亏损
  4. 鼠标单击改变按钮颜色_如何在iPad上用鼠标单击“主页”按钮
  5. 一款基于ExoPlayer的自定义播放器(已开源)
  6. 英巴卡迪诺_什么是迪诺? 并能实际取代Node.js吗?
  7. 微信小程序通过云开发模式实现注册和登录功能
  8. [Warning] incompatible implicit declaration of built-in function ‘memset‘
  9. 任务调度框架 Quartz 一文读懂
  10. 【读后感】爱的五种能力