C#TreeView

TreeView控件的基本使用

1节点的全部清除

treeView1.Nodes.Clear();

2节点的添加

treeView1.Nodes.Add(root);{  TreeNode root = new TreeNode("目录");  也可以  TreeNode root = new TreeNode(); root.text="目录";}

 

 3节点的展开和隐藏

//展开节点

//treeview1所有节点全部展开
this.treeView1.ExpandAll();
//展开选中节点的下一级子节点
this.treeView1.SelectedNode.Expand();
//展开选中节点的所有子节点(包括以下多个层级所有子节点)
this.treeView1.SelectedNode.ExpandAll();
//折叠节点
this.treeView1.CollapseAll();//折叠treeview所有节点
this.treeView1.SelectedNode.CollapseAll();//折叠选中节点下的所有节点

4节点的删除

//指定text,该节点不能删除。
//this.treeView1.SelectedNode为选中节点对象。
if (this.treeView1.SelectedNode.Text == "不能删除节点")
{
MessageBox.Show("该文件不可删除!");
return;
}
//提示是否删除**节点,确认后使用待删除节点的Remove()函数删除
if (MessageBox.Show("是否删除【" + this.treeView1.SelectedNode.Text + "】节点?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk) == DialogResult.OK)
this.treeView1.SelectedNode.Remove();
//删除指定index节点
this.treeView1.Nodes[i].Remove();//删除第i个根节点
this.treeView1.Nodes[i].Nodes[j].Remove();//删除第i个根节点的第j个一级节点

判断当前节点是否存在父节点,若存在,则删除父节点下的子节点

 

5节点的父节点(当前节点的父级节点,即子节点的上一级节点)

子节点的父节点添加节点,即子节点的同级节点的添加

 

 6节点的常用属性

TreeView控件的使用示例  《递归》

在获取节点集合前,我们需要了解两种对象①节点集合对象:TreeNodeCollection②节点对象:TreeNode

TreeNodeCollection可多个存储TreeNode对象,TreeNodeCollection就类似于一个treeview控件或其中的某个父节点;

TreeNode对象相当于treeview中的任意一个节点,它存储了节点的text、Name、Tag、key、ImageIndex等所有属性信息。

TreeView递归加载节点

C#遍历指定文件夹下所有子文件夹及文件并添加到目录树:

private void Form1_Load(object sender, EventArgs e)
{
TreeNode root = new TreeNode();
//根目录名称
root.Text = "目录";
//根目录路径
GetFiles(@"E:\Tools", root);
treeView1.Nodes.Add(root);
}

private void GetFiles(string filePath, TreeNode node)
{
DirectoryInfo folder = new DirectoryInfo(filePath);
node.Text = folder.Name;
node.Tag = folder.FullName;

FileInfo[] chldFiles = folder.GetFiles("*.*");
foreach (FileInfo chlFile in chldFiles)
{
TreeNode chldNode = new TreeNode();
chldNode.Text = chlFile.Name;
chldNode.Tag = chlFile.FullName;
node.Nodes.Add(chldNode);
}

DirectoryInfo[] chldFolders = folder.GetDirectories();
foreach (DirectoryInfo chldFolder in chldFolders)
{
TreeNode chldNode = new TreeNode();
chldNode.Text = folder.Name;
chldNode.Tag = folder.FullName;
node.Nodes.Add(chldNode);
GetFiles(chldFolder.FullName, chldNode);
}
}

 

posted @   爱学习VS  阅读(1706)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示