3

我有一个带有 TreeView 作为 UI 元素之一的 .Net 桌面应用程序。

我希望能够多选该 TreeView,只是根本不支持。

所以我在树中添加了复选框,我的问题是只有一些项目是可选的,而那些不能一致的级联选择。

有没有办法在显示其他复选框时禁用或隐藏某些复选框?

4

3 回答 3

4

TreeView 的默认行为是,当Checkboxes属性设置为 true 时,将为所有 TreeNode 显示复选框。

您正在寻找的行为 - 禁用或隐藏某些复选框 - 是对正常行为的自定义修改。您可以创建覆盖默认行为的 TreeView 或 TreeNode 的自定义实现。要尝试的另一件事是使用 TreeView。状态图像列表属性。一些网站可以查看更多信息:

于 2008-09-02T10:08:44.827 回答
1

在我最近写的一个编辑器中,我遇到了一个非常相似的问题。最后,我使用了TreeNode'sBackColor属性来确定节点的选择状态。然后,我为检查 Shift/Control 键状态的事件编写了一个处理程序,SelectionChanged以确定所选节点是被添加到选择中/从选择中删除还是创建新选择。当前还选择了一个Generic::List<>节点来消除任何树搜索。

于 2008-09-02T10:10:49.940 回答
0

多选树视图

为什么.NET 没有多选树视图?一个有很多用途,在树视图中打开复选框是一个非常糟糕的选择。

于 2008-09-02T19:59:24.720 回答