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