Windows应用程序高级控件之TreeView

短命女 2022-08-27 13:40 377阅读 0赞

TreeView控件—树控件

为用户显示节点层次结构,每个节点又可以包含子节点。

添加和删除树节点

添加—TreeView的Nodes属性的Add方法:public virtual int Add(TreeNode node)

删除—TreeView的Nodes属性的Remove方法:public void Remove(TreeNode node)

添加-实例代码:

  1. private void Form1_Load(object sender, EventArgs e)
  2. {
  3. //为树控件建立两个父节点
  4. TreeNode tn1 = treeView1.Nodes.Add("汤姆克鲁斯");
  5. TreeNode tn2 = treeView1.Nodes.Add("成龙");
  6. //建立3个子节点,用于显示名称
  7. TreeNode Ntn1 = new TreeNode("碟中谍");
  8. TreeNode Ntn2 = new TreeNode("明日边缘");
  9. TreeNode Ntn3 = new TreeNode("少数派报告");
  10. //将以上的3个子节点添加到第一个父节点中
  11. tn1.Nodes.Add(Ntn1);
  12. tn1.Nodes.Add(Ntn2);
  13. tn1.Nodes.Add(Ntn3);
  14. //然后再建立3个子节点,用于显示类别
  15. TreeNode Stn1 = new TreeNode("醉拳");
  16. TreeNode Stn2 = new TreeNode("新警察故事");
  17. TreeNode Stn3 = new TreeNode("尖峰时刻");
  18. //将以上的3个子节点添加到第二个父节点中
  19. tn2.Nodes.Add(Stn1);
  20. tn2.Nodes.Add(Stn2);
  21. tn2.Nodes.Add(Stn3);
  22. }

运行截图:

20140608193354156

删除-实例代码:

  1. private void Form1_Load(object sender, EventArgs e)
  2. {
  3. //建立一个父节点
  4. TreeNode tn1 = treeView1.Nodes.Add("汤姆克鲁斯");
  5. //建立3个子节点
  6. TreeNode Ntn1 = new TreeNode("碟中谍");
  7. TreeNode Ntn2 = new TreeNode("明日边缘");
  8. TreeNode Ntn3 = new TreeNode("少数派报告");
  9. //将这3个子节点添加到父节点中
  10. tn1.Nodes.Add(Ntn1);
  11. tn1.Nodes.Add(Ntn2);
  12. tn1.Nodes.Add(Ntn3);
  13. }
  14. private void button1_Click(object sender, EventArgs e)
  15. {
  16. //如果用户选择了“名称”证明没有选择要删除的子节点
  17. if (treeView1.SelectedNode.Text == "汤姆克鲁斯")
  18. {
  19. MessageBox.Show("请选择要删除的子节点"); //弹出提示
  20. }
  21. else
  22. {
  23. treeView1.Nodes.Remove(treeView1.SelectedNode);//使用Remove方法移除选择项
  24. }
  25. }

运行截图:

删除前:20140608193801765删除后:20140608193833296

获取树控件中选中的节点:

其实在TreeView控件自带的AfterSelect方法中

private void treeView1_AfterSelect(object sender,TreeViewEventArgs e)

{

console.WriteLine(“当前选中的节点是:”+e.Node.Text)

}

为树控件的节点设置图标:

其实这边原理跟之前的ListView差不多。都要联系ImageList控件

直接贴上代码:

  1. private void Form1_Load(object sender, EventArgs e)
  2. {
  3. TreeNode tn1 = treeView1.Nodes.Add("汤姆克鲁斯");
  4. TreeNode Ntn1 = new TreeNode("碟中谍");
  5. TreeNode Ntn2 = new TreeNode("明日边缘");
  6. TreeNode Ntn3 = new TreeNode("少数派报告");
  7. tn1.Nodes.Add(Ntn1);
  8. tn1.Nodes.Add(Ntn2);
  9. tn1.Nodes.Add(Ntn3);
  10. imageList1.Images.Add(Image.FromFile("1.png"));
  11. imageList1.Images.Add(Image.FromFile("2.png"));
  12. treeView1.ImageList = imageList1;
  13. imageList1.ImageSize = new Size(16,16);
  14. <span style="color:#ff0000;">treeView1.ImageIndex = 0; //设置控件的节点的图标在imageList控件中的索引是0的图标</span>
  15. <span style="color:#ff0000;">treeView1.SelectedImageIndex = 1;//选择某个节点后,图标会变化,变成imageList1控件中的索引是1的图标</span>
  16. }

运行截图:

20140608194552078点击某个子节点后,注意图标变化:20140608194628265

发表评论

表情:
评论列表 (有 0 条评论,377人围观)

还没有评论,来说两句吧...

相关阅读