写点什么

C# 窗体应用 TreeView 控件使用

作者:IC00
  • 2022 年 7 月 24 日
  • 本文字数:1987 字

    阅读完需:约 7 分钟

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 生成树,实现资源的凹入表示法,博主只是简单的介绍使用,比较适合新手上手,就是写一下静态的数据不连接数据库进行操作,如果你需要连接数据库关注博主下一篇文章可能会写,好了,创作不易点赞关注评论收藏,谢谢大佬了!!!!



用户头像

IC00

关注

还未添加个人签名 2022.07.14 加入

还未添加个人简介

评论

发布
暂无评论
C# 窗体应用TreeView控件使用_C#_IC00_InfoQ写作社区