【问题标题】:vb.net how to use shift for selecting multiple checkboxvb.net如何使用shift选择多个复选框
【发布时间】:2017-03-03 05:33:39
【问题描述】:

如何通过按Shift键并选中复选框来更改DataGridView中多个CheckBoxes的状态。

vb.net可以做到吗?

提前致谢。

【问题讨论】:

  • 我正在使用 datagridview 并且所有复选框都设置为 true..我想要的只是通过单击第一个复选框并按 shift 然后再次单击以更快地更改状态来更改多选状态。
  • 我有一个解决方案,如果您在按住 Shift 键后离开单元格,则该解决方案有效。这对你来说可行吗?

标签: vb.net winforms datagridview


【解决方案1】:

这是一个如何实现的示例。对于这个例子,我刚刚创建了一个包含两列、一个文本和一个复选框的 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-30
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多