有图树行图

博客介绍了设计界面时TreeView控件的实现。先声明三个全局变量,接着给出代码,包括加载事件,加载图片资源,创建根节点、组节点和叶节点并添加到树形控件,还实现了展开和折叠树形控件时改变图标的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先我们先设计好一个界面,如下图:
在这里插入图片描述
效果图:
在这里插入图片描述
1.声明三个全局变量:
2.private const int BOOKMARK = 0;
3.private const int FOLDER = 1;
4.private const int FOLDER_OPEN = 2;
5.
6.代码如下:
7. //加载事件
8. private void Form1_Load(object sender, EventArgs e)
9. {
10. this.treeView1.ImageList = new System.Windows.Forms.ImageList();
11. //加载图片资源(资源文件夹的创建:右键项目TreeViewTool->属性->资源->添加资源->添加现有文件,
12. 然后把图片拷进来即可)
13. this.treeView1.ImageList.Images.Add(Resources.bookMark);
14. this.treeView1.ImageList.Images.Add(Resources.folder);
15. this.treeView1.ImageList.Images.Add(Resources.folder_open);
16. //根节点
17. TreeNode rootNode = new TreeNode(“路飞海贼团”);
18. rootNode.ImageIndex = FOLDER_OPEN;
19. rootNode.SelectedImageIndex = FOLDER_OPEN;
20. //组节点
21. TreeNode g1_Node = new TreeNode(“路飞”);
22. g1_Node.ImageIndex = FOLDER_OPEN;
23. g1_Node.SelectedImageIndex = FOLDER_OPEN;
24. //叶节点
25. TreeNode y1_Node = new TreeNode(“索隆”);
26. y1_Node.ImageIndex = BOOKMARK;
27. TreeNode y2_Node = new TreeNode(“乌索普”);
28. y2_Node.ImageIndex = BOOKMARK;
29. g1_Node.Nodes.Add(y1_Node);
30. g1_Node.Nodes.Add(y2_Node);
31. //叶节点
32. TreeNode y3_Node = new TreeNode(“娜美”);
33. y3_Node.ImageIndex = BOOKMARK;
34. TreeNode y4_Node = new TreeNode(“山治”);
35. y4_Node.ImageIndex = BOOKMARK;
36. g1_Node.Nodes.Add(y3_Node);
37. g1_Node.Nodes.Add(y4_Node);
38.
39. TreeNode g2_Node = new TreeNode(“广东”);
40. g2_Node.ImageIndex = FOLDER_OPEN;
41. g2_Node.SelectedImageIndex = FOLDER_OPEN;
42. TreeNode y5_Node = new TreeNode(“广州”);
43. y5_Node.ImageIndex = BOOKMARK;
44. TreeNode y6_Node = new TreeNode(“深圳”);
45. y6_Node.ImageIndex = BOOKMARK;
46. g2_Node.Nodes.Add(y5_Node);
47. g2_Node.Nodes.Add(y6_Node);
48.
49. rootNode.Nodes.Add(g1_Node);
50. rootNode.Nodes.Add(g2_Node);
51.
52. this.treeView1.Nodes.Add(rootNode);
53. //展开树形控件
54. this.treeView1.ExpandAll();
55.
56. }
57.
58.
59. private void treeView1_AfterCollapse(object sender, TreeViewEventArgs e)
60. {
61. //折叠控件后改变图标
62. e.Node.ImageIndex = 1;
63. e.Node.SelectedImageIndex = 1;
64.
65. }
66.
67. private void treeView1_AfterExpand(object sender, TreeViewEventArgs e)
68. {
69. //展开控件后改变图标
70. e.Node.ImageIndex = 2;
71. e.Node.SelectedImageIndex = 2;
72. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值