2011-02-03 4 views
5

.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 

감사합니다,

마이크

답변