1

とボタンDataGridViewを含むがあります。DataGridViewColumnボタンをクリックすると、datagridviewのすべてのチェックボックスがオンになっているかどうかを確認したい。

次のコードを使用していますが、機能していません。

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    For i As Integer = 0 To DataGridView1.Rows.Count - 1
        Dim CheckBox As DataGridViewCheckBoxCell = DirectCast(DataGridView1.Rows(i).Cells(0), DataGridViewCheckBoxCell)
        If Not CheckBox.Value = Not CheckBox.Value Then
            MsgBox("True")
        End If
    Next
End Sub
4

2 に答える 2

3

IFステートメントに問題があると思います。Value = True代わりにチェックする必要があります.value = Not Checkbox,Value

If CheckBox.Value = True Then
   MsgBox("True")
End If
于 2012-07-04T21:17:08.510 に答える
0

私はあなたのロジックがこの行で何をしているのか本当にわかりません:

CheckBox.Valueでない場合=CheckBox.Valueでない場合

あなたが言っているように見えます、「価値がない場合=価値がない」???

これを試して:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  For i As Integer = 0 To DataGridView1.Rows.Count - 1
    'Dim CheckBox As DataGridViewCheckBoxCell = DirectCast(DataGridView1.Rows(i).Cells(0), DataGridViewCheckBoxCell)
    'If Not CheckBox.Value = Not CheckBox.Value Then
    '  MsgBox("True")
    'End If
    Dim obj As Object = DataGridView1.Rows(i).Cells(0)
    If (Not obj Is Nothing) Then
      Dim checkBox1 As DataGridViewCheckBoxCell = DirectCast(obj, DataGridViewCheckBoxCell)
      Dim objValue As Object = checkBox1.Value
      If (Not objValue Is Nothing) Then
        Dim checked As Boolean = DirectCast(objValue, Boolean)
        If (checked) Then
          MsgBox("True")
        End If
      End If
    End If
  Next
End Sub
于 2012-07-04T21:20:00.680 に答える