我在vb中建立了一组共五个check控件,我怎样才能判断出那些被选择了,最好知道他们的位置

解决方案 »

  1.   

    Private Sub Command1_Click()
        If Check1.Value Then MsgBox "选择了~!"
    End Sub
    知道他们的位置是什么意思:???
    check1.left 和check1.top吗?!?
      

  2.   

    Private Sub Command1_Click()
    Dim a, b, c, d, e
     a = IIf(Check1.Value = 1, 1, 0)
     b = IIf(Check2.Value = 1, 1, 0)
     c = IIf(Check3.Value = 1, 1, 0)
     d = IIf(Check4.Value = 1, 1, 0)
     e = IIf(Check5.Value = 1, 1, 0)
     MsgBox a & b & c & d & e
    End Sub
      

  3.   

    Option ExplicitPrivate Sub Command1_Click()
        Dim obj As Object
        For Each obj In Me.Controls
            If TypeName(obj) = "CheckBox" Then
                Debug.Print obj.Name + ".value=" + CStr(obj.Value)
            End If
        NextEnd Sub
      

  4.   

    如果check1.value=true,就表示被选中了
      

  5.   

    check1.value=1表示选中
    check1.value=0表示未选中
    (最好不要用true或false)
      

  6.   

    首先,建议将这些Check建立成为数组,就是Check1(?)然后用For语句Dim ChecksInfo() as Long
    ReDim ChecksInfo(Check1.Count, 5) as Long '5是随意给的数字,稍微大一点就可以了For i = 0 TO Check1.Count - 1
       If Check1(i).Value = vbChecked Then
          ChecksInfo(i, 0) = True
       Else
          ChecksInfo(i, 0) = False
       End If
       ChecksInfo(i, 1) = Check1(i).Top
       ChecksInfo(i, 2) = Check1(i).Left
    Next将这段程序Copy到一个按钮下进行调试,然后对ChecksInfo这个数组来提取就可以了。
      

  7.   

    value为1是选中..0为没选中...建议用控件数组
      

  8.   

    if check1.value=1 then 
      msgbox "已经选中了!"
    elseif check1.value=0 then
      msgbox "未被选中!"
    endif