【问题标题】:Multiple selection in a TreeViewTreeView 中的多选
【发布时间】:2010-12-12 13:02:33
【问题描述】:

我在我的程序中使用 Windows 窗体 TreeView 控件。我想允许用户通过拖动鼠标指针来选择同一级别的多个节点(也称为“套索”选择)。我认为标准的TreeView 不允许这样做。

我的问题是实现这一目标的最佳方法是什么?我是否必须在自定义或派生控件中编写自己的自定义选择行为?我从哪里开始?

我不需要详细的解释。只是朝着正确的方向轻推。

【问题讨论】:

    标签: c# winforms treeview multipleselection


    【解决方案1】:

    使用标准 WinForms TreeView 控件可不容易做到这一点。 TreeView 控件仅支持每棵树的单选。不可能同时选择树中的多个节点。

    为了获得这种行为,您最终可能需要创建一个与TreeView 非常相似的类,它允许进行多项选择。另一种选择是从TreeView 派生并通过覆盖特定行为来启用多项选择。这是一篇关于如何做后者的文章。

    【讨论】:

    • 我了解获得多选的自定义控制方法。您建议我应该采取什么方向来实施“套索”选择?我是否必须求助于 GDI 级别的自定义绘图,或者是否有 API 或 Windows 为此公开的东西,这可以让我的工作更轻松?
    • @Frederick,我不是一个很好的评论者。我的建议是打开一个单独的新问题,纯粹关注如何在通用 WinForm 控件上实现套索选择。这可能会产生更好的结果。
    • 谢谢贾里德。我会这样做的。
    【解决方案2】:

    考虑在支持多选的控件(如列表视图)中实现多选。如果您遵循大多数 Windows 用户都理解的标准,您最终会得到一个更易于实施和使用的解决方案。

    如果你真的需要更精细的东西,你可能需要考虑开发一个自定义控件。

    【讨论】:

      猜你喜欢
      • 2021-10-02
      • 2013-01-28
      • 2017-03-14
      • 2010-09-17
      • 2019-01-17
      • 2019-02-11
      • 2010-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多