首先,触发的事件有CurrentCellDirtyStateChanged和CellValueChanged。
以下具体代码分析:
''' <summary>
''' 提交點擊事件
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub dgvMFInfoList_CurrentCellDirtyStateChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgvMFInfoList.CurrentCellDirtyStateChanged
Me.dgvMFInfoList.CommitEdit(DataGridViewDataErrorContexts.Commit)
End Sub
''' <summary>
''' checkbox狀態變更時間
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub dgvMFInfoList_CellValueChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvMFInfoList.CellValueChanged
Dim x, y, n, z As Integer
y = Me.dgvMFInfoList.Rows.Count
If y < 0 Then
Exit Sub
End If
x = e.RowIndex
If x < 0 Then
Exit Sub
End If
z = 0
For n = 0 To y - 1
Dim chk As DataGridViewCheckBoxCell = dgvMFInfoList.Rows(n).Cells("colChoose") ''此栏为checkbox栏
If chk.Value = True Then ''選中
z = z + 1
End If
Next
Me.gbRecord.Text = "Record:" & y.ToString & "(已勾選:" & z.ToString & ")"
End Sub