0
我有一個帶複選框列的DGV,我想在用戶點擊複選框時觸發一個事件,觸發事件後系統會檢查複選框是否被選中,然後什麼都不做。問題是當我點擊複選框時,系統總是先改變複選框的狀態,然後才觸發下面的事件,如何使其觸發下面的事件,然後只改變複選框的狀態?爲了簡單起見,我想當用戶點擊複選框然後提示messagebox時,如果MsgBoxResult.Yes然後CheckBox.Checked = True並觸發下面的事件,如果MsgBoxResult.No則什麼也不做。DataGridViewCheckBoxColumn CellContentClick事件問題
我嘗試添加選擇的情況下消息框下面的代碼,但系統仍能先改變複選框狀態,則僅提示MessageBoxDialog
Private Sub dgv_supplier_CellContentClick(sender As System.Object, e As DataGridViewCellEventArgs) Handles dgv_supplier.CellContentClick
Dim senderGrid = DirectCast(sender, DataGridView)
If (e.ColumnIndex >= 0 And e.RowIndex >= 0) Then
If TypeOf senderGrid.Columns(e.ColumnIndex) Is DataGridViewCheckBoxColumn AndAlso e.RowIndex >= 0 Then
Dim index = e.RowIndex
Dim currRow = dgv_supplier.Rows(index)
Dim str_supName = currRow.Cells("sup_name").Value
If currRow.Cells("checkbox").Value = True Then
Exit Sub
Else
'Do something
End If
End If
End If
End Sub