TreeView 控件(树控件)可以为用户显示节点层次结构,每个节点又可以包含子节点,包含子节点的节点叫父节点。就像在Windows操作系统的 Windows 资源管理器功能的左窗口中显示文件和文件夹一样,如图 1 所示为 TreeView 控件。


C# TreeView控件添加和删除树节点_控件


图1    TreeView控件





01

添加节点


     使用 TreeView 控件的 Nodes 属性的 Add 方法,可以向控件中添加节点。     语法如下:     public virtual int Add(TreeNode node)     ​C# TreeView控件添加和删除树节点_子节点_02​    node:要添加到集合中的 TreeNode。    ​C# TreeView控件添加和删除树节点_子节点_02​    返回值:添加到树节点集合中的 TreeNode 的从零开始的索引值。  【例 1】创建一个 Windows 应用程序,使用 TreeView 控件 Nodes 属性的 Add 方法向控件中添加3个父节点,然后再使用 Add 方法分别向3个父节点中添加3个子节点。    代码如下:  


 private void Form1_Load(object sender,EventArgs e)
{
//为控件建立3个父节点
TreeNode tn1 = treeView1.Nodes.Add("名称");
TreeNode tn2 = treeView1.Nodes.Add("性别");
TreeNode tn3 = treeView1.Nodes.Add("年龄");
//建立 3 个子节点
TreeNode Ntn1 = new TreeNode("用一生下载你");
TreeNode Ntn2 = new TreeNode("芸烨湘枫");
TreeNode Ntn3 = new TreeNode("一生所爱");
//将以上的 3 个子节点添加到第一个父节点中
tn1.Nodes.Add(Ntn1);
tn1.Nodes.Add(Ntn2);
tn1.Nodes.Add(Ntn3);
//然后再建立3个子节点,用于显示性别
TreeNode Stn1 = new TreeNode("男");
TreeNode Stn2 = new TreeNode("女");
TreeNode Stn3 = new TreeNode("男");
//将这3个显示性别的子节点添加到第二个父节点中
tn2.Nodes.Add(Stn1);
tn2.Nodes.Add(Stn2);
tn2.Nodes.Add(Stn3);
//接续建立3个子节点用于显示年龄
TreeNode Atn1 = new TreeNode("28");
TreeNode Atn2 = new TreeNode("27");
TreeNode Atn3 = new TreeNode("26");
//将显示年龄的3个子节点添加到第3个父节点中
tn3.Nodes.Add(Atn1);
tn3.Nodes.Add(Atn2);
tn3.Nodes.Add(Atn3);
}


程序的运行结果如图2 所示。


C# TreeView控件添加和删除树节点_子节点_04


图2 添加节点





02

移除节点


      使用 TreeView控件 Nodes 属性的 Remove 方法可以从树节点集合中移除指定的树节点。      语法如下:     public void Remove(TreeNode node)     node: 要移除的 TreeNode。    【例2】 创建一个 Windows 应用程序,通过 TreeView 控件 Nodes 属性的 Remove 方法删除选中的子节点。代码如下:



private void Form1_Load(object sender,EventArgs e)
{
//建立一个父节点
TreeNode tn1 =treeView1.Nodes.Add("名称");
//建立3个子节点
TreeNode Ntn1 = new TreeNode("用一生下载你");
TreeNode Ntn2 = new TreeNode("芸烨湘枫");
TreeNode Ntn3 = new TreeNode("一生所爱"):
//将这3个子节点添加到父节点中
tn1.Nodes.Add(Ntn1);
tn1.Nodes.Add(Ntn2);
tn1.Nodes.Add(Ntn3);
}
private void button1_Click(object sender,EventArgs e)
{
//如果用户选择了“名称”证明没有选择要删除的子节点
if(treeView1.SelectedNode.Text=="名称")
{
MessageBox.Show("请选择要删除的子节点"); //弹出提示
}
else //否则
{
treeView1.Nodes.Remove(treeView1.SelectedNode):; //使用 Remove 方法移除选择项
}
}


程序的运行结果如图3 所示。


C# TreeView控件添加和删除树节点_子节点_05


图3    删除子节点





- END -




C# TreeView控件添加和删除树节点_子节点_06