处理.NET DataGridViewCheckBox已更改事件

时间:2010-09-09 16:05:06

标签: c# .net vb.net visual-studio-2010

如何处理CheckedChanged中的单元格的DataGridViewCheckBoxColumn事件?

注意:如果适用,我更喜欢VB.NET的答案而不是C#,但我会接受。

2 个答案:

答案 0 :(得分:2)

尝试将处理程序附加到DataGridView.CellValueChanged事件;当GridView中的任何单元格发生更改时,它会被触发,并将提供有关更改的特定单元格的处理程序信息。如果单元格是DataGridViewCheckBoxCell,则唯一可能发生的数据更改是设置或清除复选框。您可以通过直接调用或通过提升其他处理程序侦听的事件来将该信息委托给更具体的处理程序方法。

答案 1 :(得分:2)

您必须处理CellValueChanged事件。

此代码对您有所帮助。

Private Sub DataGridView1_CellValueChanged(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
    Dim checkColumnIndex = 1 'replace this with the appropriate method to get the checkbox column's index'
    If e.ColumnIndex = checkColumnIndex Then
        'do something
        Debug.Print("Cell " & Chr(e.ColumnIndex + 65) & e.RowIndex & " has changed.")
    End If
End Sub