我有一个.Net桌面应用程序,其中TreeView作为UI元素之一。
我希望能够多选那个TreeView,但根本不支持。
所以我在树上添加了复选框,我的问题是只有一些项是可选择的,而那些不能一致的级联选择。
在显示其他复选框时是否有办法禁用或隐藏某些复选框?
答案 0 :(得分:4)
TreeView的默认行为是,当Checkboxes属性设置为true时,将显示所有TreeNode的复选框。
您正在寻找的行为 - 禁用或隐藏某些复选框 - 是对正常行为的自定义修改。您可以创建覆盖默认行为的TreeView或TreeNode的自定义实现。另一件要尝试的是使用TreeView。StateImageList属性。有些网站需要了解更多信息:
答案 1 :(得分:1)
我最近写的一个编辑器中有一个非常类似的问题。最后,我使用TreeNode
的{{1}}属性来确定节点的选择状态。然后,我为BackColor
事件编写了一个处理程序,该事件检查了Shift / Control键的状态,以确定所选节点是在向选择中添加/删除还是创建新选择。当前还选择了SelectionChanged
个节点来消除任何树搜索。
答案 2 :(得分:0)
为什么.NET没有多选树视图?它有很多用途,在树视图中打开复选框是一个非常糟糕的选择。