【问题标题】:How can I deselect a selected DataGridViewRow when clicking it in VB.NET?在 VB.NET 中单击时如何取消选择选定的 DataGridViewRow?
【发布时间】:2013-08-22 14:34:42
【问题描述】:

我正在寻找一种在用户单击时取消选择选定 DataGridViewRow 的方法。我曾尝试摆弄 DataGridView 类的各种单击事件,但问题是在这些事件之前触发了 SelectionChanged,这会在用户单击未选中的行时导致明显的意外行为。

如何获得我想要的行为?

【问题讨论】:

    标签: .net vb.net datagridview


    【解决方案1】:

    听起来您正在尝试更改标准窗口选择多个对象行为。即,允许多选,然后通过单击要取消选择的选定行来取消选择给定行。由于数据网格会在基于标准事件处理的情况下尝试执行此操作,因此您可以处理单击事件,并使用鼠标事件来确定它们单击的位置等……但这很混乱且脆弱。

    我建议向您的用户教授标准的窗口选择行为,或者添加一个 "selected" 列,其中包含一个复选框并解释复选框值的 "truthiness"列在进一步处理中。

    【讨论】:

    • 我更喜欢使用推荐的方法,因为该功能对功能性并不重要
    【解决方案2】:

    在您的 selectionchanged 事件中设置 DataGrid.SelectedIndex = -1,如果它之前已被选中(此处不包含该逻辑)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-31
      • 2016-04-14
      • 1970-01-01
      • 2011-02-01
      • 2016-10-02
      • 1970-01-01
      相关资源
      最近更新 更多