如何打开和关闭WinForms ListBox的项目切换

时间:2011-04-23 04:02:58

标签: c# winforms listbox

我所追求的功能是在多选模式下检查列表框和列表框之间的交叉。

对于列表框项目A和B

  • A然后B导致单个选择从A移动到B.

  • 然后按住Control键并单击B会导致A和B的多重选择。

(我想要的是):

  • A然后A导致A打开和关闭。

我认为这很容易,但我无法理解。也许我错过了一些显而易见的事情,或者我的想法是错误的,并且没有人真的想要一个项目切换开/关的列表框。

3 个答案:

答案 0 :(得分:1)

如果您将SelectionMode设置为MultiSimple,则可以进行控制点击多项选择并打开和关闭。

要使移动选择起作用,您可以处理SelectedIndexChanged事件并添加一些逻辑以在未按下控件时取消选择其他项目。如果我有更多的时间,我可以尝试为它创建一些基本代码,但这应该是一个开始的地方。

答案 1 :(得分:1)

如果您将ListBox.SelectionMode设置为MultiExtended并在进行选择时按住控件,则您已经拥有了所需的行为。

答案 2 :(得分:0)

如果我正确理解了您的问题,那么您想要一个ListBox的{​​{1}},它可以使用SelectionMode.One修饰符来切换与CTLRSelectionMode.MultiSimple类似的选择。在我的答案下方,只需将SelectionMode.MultiExtented设置为true。另外,它还提供了单击事件,当单击已选择的项目时也会触发该事件。

ToggleSingleSelection