使用复选框选择DataGridView VB.Net中的行

使用复选框选择DataGridView VB.Net中的行,vb.net,checkbox,datagridview,Vb.net,Checkbox,Datagridview,我对VB.Net相当陌生,所以请原谅这个基本问题。我使用DataGridView显示用户将选择整行数据的数据。我添加了一个复选框列(第一列),用户可以直观地看到选中的行。我试图设置,如果选中复选框,则选中行;如果选中行,则选中复选框。因此,我正试图让反选择的结果为真 Private Sub DataGridView1_CbxRowSelect(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellC

我对VB.Net相当陌生,所以请原谅这个基本问题。我使用DataGridView显示用户将选择整行数据的数据。我添加了一个复选框列(第一列),用户可以直观地看到选中的行。我试图设置,如果选中复选框,则选中行;如果选中行,则选中复选框。因此,我正试图让反选择的结果为真

Private Sub DataGridView1_CbxRowSelect(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
    Dim CellChecked As DataGridViewCheckBoxCell = DataGridView1.Rows(e.RowIndex).Cells(0)
    Dim SelectedRow As DataGridViewRow = DataGridView1.Rows(e.RowIndex)

    If CellChecked.Value = True Then
        SelectedRow.Selected = True
    End If
    If CellChecked.Value = False Then
        SelectedRow.Selected = False
    End If
    If SelectedRow.SelectedCell = True Then
        Checked.Value= True
    End If
End Sub

任何帮助都将不胜感激,谢谢

鉴于选中的行被高亮显示,我不太清楚为什么您需要添加一个用于视觉反馈的复选框。对我来说,这听起来有点像“因为我可以”,但这是你的特权。复选框列是否在绑定网格中未绑定?如前所述,不清楚“为什么”你想为此引入复选框列。如果用户未单击特定行中的复选框…是否不希望选中该行?如果是,为什么?这是违反直觉的。此外,您似乎正在使用grids
CellContentClick
事件,这很好。但是,代码从不检查复选框单元格是否是触发此事件的单元格。如果用户单击其他单元格,也会触发此事件。代码正在不必要地重新选择或取消选择单元格,因为复选框没有必要更改。原因是当前项目中有数百行,并且有许多引用引用了“选定行”。因此,建议使用复选框。我不确定如何判断该列是绑定的还是未绑定的。该列是通过“属性”选项卡创建的,输入dgv的数据来自按行/列插入的本地表。另外@JohnG您是否有任何修复建议,以便选中某行时选中复选框,反之亦然。对不起,我还是新的VB,任何帮助将不胜感激!