【发布时间】:2013-08-22 14:34:42
【问题描述】:
我正在寻找一种在用户单击时取消选择选定 DataGridViewRow 的方法。我曾尝试摆弄 DataGridView 类的各种单击事件,但问题是在这些事件之前触发了 SelectionChanged,这会在用户单击未选中的行时导致明显的意外行为。
如何获得我想要的行为?
【问题讨论】:
标签: .net vb.net datagridview
我正在寻找一种在用户单击时取消选择选定 DataGridViewRow 的方法。我曾尝试摆弄 DataGridView 类的各种单击事件,但问题是在这些事件之前触发了 SelectionChanged,这会在用户单击未选中的行时导致明显的意外行为。
如何获得我想要的行为?
【问题讨论】:
标签: .net vb.net datagridview
听起来您正在尝试更改标准窗口选择多个对象行为。即,允许多选,然后通过单击要取消选择的选定行来取消选择给定行。由于数据网格会在基于标准事件处理的情况下尝试执行此操作,因此您可以处理单击事件,并使用鼠标事件来确定它们单击的位置等……但这很混乱且脆弱。
我建议向您的用户教授标准的窗口选择行为,或者添加一个 "selected" 列,其中包含一个复选框并解释复选框值的 "truthiness"列在进一步处理中。
【讨论】:
在您的 selectionchanged 事件中设置 DataGrid.SelectedIndex = -1,如果它之前已被选中(此处不包含该逻辑)。
【讨论】: