vb.net如何使用shift来选择多个复选框

时间:2016-10-21 02:52:51

标签: vb.net winforms datagridview

如何通过按 Shift 键更改CheckBoxes中多个DataGridView的状态,然后选中该复选框。

是否可以在vb.net

中执行此操作

提前致谢。

1 个答案:

答案 0 :(得分:0)

以下是如何实现这一目标的一个例子。对于这个例子,我刚刚创建了一个包含两列,一个文本和一个复选框的datagridview,并为其添加了5行。关键是datagridview_click事件。当该事件被调用时,它将检查是否按下了Shift键。如果是,它将取消选中您选择中的每个datagridviewcheckboxcell:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim c1 As New DataGridViewTextBoxColumn
    DataGridView1.Columns.Add(c1)
    Dim c2 As New DataGridViewCheckBoxColumn
    DataGridView1.Columns.Add(c2)

    For i As Integer = 1 To 5
        DataGridView1.Rows.Add("test" & i.ToString, True)
    Next i
End Sub

Private Sub DataGridView1_Click(sender As Object, e As EventArgs) Handles DataGridView1.Click
    If My.Computer.Keyboard.ShiftKeyDown Then
        For Each cell As DataGridViewCell In DataGridView1.SelectedCells
            If TypeOf cell Is DataGridViewCheckBoxCell Then cell.Value = False
        Next
        DataGridView1.RefreshEdit()
    End If
End Sub