.Netアプリケーションにチェックボックス列を含むDataGridViewコントロールがあります。ユーザーがチェックボックスを編集できるようにしたいと思います。私が実行している問題は、ユーザーがチェックボックスをチェックした後、チェックボックスの状態を検出できないということです。DataGridViewでチェックボックスの状態を検出する問題
チェックボックスが最初にチェックされていた場合、DataGridViewCheckBoxCellがフォーカスを取得するとすぐにチェックされます。しかし、チェックボックスをもう一度クリックしてチェックを外すと、チェックされたまま戻ります。その時点から、チェックボックスの実際の状態にかかわらず、常にフォーカスが失われて再び取得されるまで、チェックされます。
同様に、チェックボックスが元々チェックされていなかった場合、フォーカスを取得すると、実際にチェックボックスの状態に関係なく、クリックイベントでチェックされなくなります。
ここに私のコードです。事前に
Private Sub grdTemplates_CellContentClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdTemplates.CellContentClick
Dim strValue As String = ""
Try
If Me.grdTemplates.Columns(e.ColumnIndex).Name = "colCurrentTemplate" Then
'The user clicked on the checkbox column
strValue = Me.grdTemplates.Item(e.ColumnIndex, e.RowIndex).Value
'THIS VALUE NEVER CHANGES WHILE THE DataGridViewCheckBoxCell HAS FOCUS
Me.lblTemplates.Text = strValue
End If
Catch ex As Exception
HandleError(ex.ToString)
End Try
End Sub
おかげで、
マイク