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. TensorFlow Keras API用法
  2. SQLServer学习-- SQLServer
  3. 点击鼠标左键 自动锁定计算机图标,鼠标一按左键桌面图标就消失了怎么办_为什么按鼠标左键时桌面图标都不见了...
  4. 主成分分析(Principal components analysis)-最大方差解释
  5. java文件复制速度_【Java】Java代码拷贝文件的速度
  6. vc6 设置静态文本框透明_微信还能这么玩?半透明的微信背景主题用起来!
  7. Django基础之中间件
  8. Ubuntu14.04创建WiFi热点
  9. android rxbus github,RxBus for Android
  10. 安装windows XP或者2003时提示找不到硬盘驱动器的解决办法(总结)转载
  11. 17-chan原理1-创建
  12. ubuntu18.04智能拼音候选字体调节方法
  13. 天载配资关注这个转折点机会
  14. 电压放大倍数公式运放_运放电路放大倍数的计算
  15. VSCode悬停提示
  16. PubMed--医学和生命科学免费数据库
  17. 微服务在windows打jar包运行遇到的大坑
  18. PyGmae:有限状态机实践(十四)
  19. 第10届蓝桥杯B组F题《特别的数》
  20. 电子信息类学生必看的就业形势分析(转)

热门文章

  1. 第24章 SQL SELECT INTO 语句教程
  2. tinyxml2使用
  3. MS08-067 漏洞靶机复现
  4. 雷电空战类游戏源代码
  5. 关于VMware连接本机WiFi上网的终极方法
  6. IDEA GIT 合并commit
  7. 幸福与灭亡的钥匙都在于压力
  8. Redis数据库和SpringBoot的故事|这一篇就够了(超详细)
  9. 弱大数定理的意义与证明
  10. 区块链+人工智能,如何颠覆我们已知生活