我正在尝试使用TreeView控件创建文件夹资源管理器。现在,我添加了一个ImageList和两个图像 - 一个用于文件夹,另一个用于选定的文件夹。我使用'BeforeExpand'事件来更改当前节点(文件夹)的图标。问题是,当用户选择其他文件夹时,我不知道如何将其更改回来......我可以使用什么事件?也许我不使用它的权利...?控制TreeView中节点的图像
0
A
回答
0
我认为你必须保持扩大的最后一个节点的参考,因此如果用户可以更改它以后
0
嗯,我不知道如果我理解正确的,但实际上,在一个文件夹资源管理器上下文,展开另一个节点,则不需要在之前扩展的节点上执行任何特定操作。如果用户再次单击它,则可以使用BeforeCollapse事件将其更改回来。它会适合你的需求吗?
3
我假设您只想在选择给定节点时更改显示的TreeNode图像。我不打算在这里解决每个TreeNode带有子节点的文件夹图标的问题:我想如果你掌握了这里发生的事情,那么添加一个(第三)图像和“正确的事情“来使文件夹显式化:然后,如果您愿意,可以扩展该文件夹,因此具有”无子节点“的节点可以具有用于选定/未选中的不同图标。
(1添加一个ImageList到窗体与两个图像:索引#图像0将是默认的(未选)树节点图像
(2添加AfterSelect事件处理程序到您的TreeView:改变形象在“选择”图像
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
e.Node.SelectedImageIndex = 1;
}
你会注意到,作为选择的节点发生变化:。之前选择的树节点的图像将自动恢复到使用它的默认图像(索引#0在ImageList)
注意:恕我直言,这很重要他重新区分在TreeView中展开TreeNode并在TreeView中选择TreeNode:通过单击“+”图标可以展开任何TreeNode(带有子节点):但不会选中它。当然,双击将同时展开和选择。
相关问题
- 1. 检测TreeView节点图像点击
- 2. Treeview更改树节点的图像
- 3. 限制treeview节点中的字符
- 4. 为TreeView中的不同节点分配不同的图像
- 5. ASP.NET:在TreeView控件中显示叶节点作为父节点
- 6. 展开/折叠只有节点图像的TreeView点击
- 7. Show Loading TreeView节点在WPF中单击时的图像
- 8. 添加图像在C#中的TreeView一个paticular节点
- 9. TreeView中消失的节点
- 10. C#TreeView节点
- 11. TreeView的根节点被复制
- 12. TreeView控件只加载顶级节点
- 13. 在treeview控件上移动节点
- 14. 向Treeview控件添加子节点ASP.Net
- 15. 在TreeView中拖放节点
- 16. 黑莓替换treeview与我自己的节点图像
- 17. treeview节点事件
- 18. TreeView强制父节点进行检查
- 19. 复制/粘贴Treeview节点标签
- 20. Treeview节点点击行为
- 21. MVVM Treeview点击节点
- 22. 在asp.net中维护treeview控件中collasped/Expanded节点的状态
- 23. treeview根节点的索引
- 24. 排序TreeView的节点
- 25. TreeView的根节点风格
- 26. 多行的TreeView节点
- 27. C#的TreeView节点路径
- 28. 拖动TreeView的节点
- 29. 识别treeview节点集合中点击的节点
- 30. 有没有办法将图像插入TreeView节点标签?
这是wpf还是winforms? – Mathias 2010-04-03 17:41:07