You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB新手求助:如何在DataGridView中点击已选中行取消选中

DataGridView点击已选中行取消选中的VB实现

实现步骤

  • 确认你的DataGridView的SelectionMode属性已设置为FullRowSelect(你已完成此操作,可跳过)
  • 给DataGridView添加RowMouseClick事件处理程序,在事件中判断并处理选中状态

代码示例

Private Sub DataGridView1_RowMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.RowMouseClick
    ' 跳过表头行的点击
    If e.RowIndex >= 0 Then
        Dim clickedRow = DataGridView1.Rows(e.RowIndex)
        ' 如果该行已选中,就取消选中
        If clickedRow.Selected Then
            clickedRow.Selected = False
            ' 若需要清空所有选中行,替换成下面这行:
            ' DataGridView1.ClearSelection()
        End If
    End If
End Sub

补充说明

  • 使用RowMouseClick而非CellClick的原因:整行选中模式下,点击行的任意区域(单元格、行头)都会触发该事件,覆盖场景更全
  • 必须判断e.RowIndex >= 0,防止点击表头时引发索引越界错误
  • 若你的DataGridView设置为MultiSelect=True(允许多选),上述代码只会取消当前点击的行;若为MultiSelect=False(单选),取消后将无选中行,符合需求

内容的提问来源于stack exchange,提问作者Ross from Brooklin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 03:05:39