2016-10-21 77 views
2

如何通過按Shift鍵改變多個CheckBoxes的狀態DataGridView並選擇複選框。vb.net如何使用shift來選擇多個複選框

是否有可能在vb.net

在此先感謝。

+0

我使用datagridview的所有複選框被設置爲true..all我要的是點擊第一複選框來改變多重選擇的狀態,按shift鍵然後再次點擊以獲得更快的更改狀態。 –

+0

我有一個解決方案,如果您在單擊Shift之後離開單元格,則可以使用該解決方案。這對你是否可行? –

回答

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