首先我们先设计好一个界面,如下图:
效果图:
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. }