有复选框 
for i= 0 to 1 
Check2(i) 
现在要让这两个复选实现单选功能,即点击无论怎么点击都只能一个被选中 
If Check2(0).Value = 1 Then Check2(1).Value = 0 
If Check2(1).Value = 1 Then Check2(0).Value = 0 
这段代码如果是Check2和Check3好使,但用到Check2(i)就不好使,该怎么改

解决方案 »

  1.   

    为什么不用 OptionButton 呢?
      

  2.   

    当你点击复选框,进入事件过程,
    而在事件过程中由于你又修改了复选框的Value值而又再次引发事件过程
    解决的办法是对每个复选框附加一个布尔变量,如下:Option Explicit
    Dim b(1) As BooleanPrivate Sub Form_Load()
      b(0) = True
      b(1) = True
    End SubPrivate Sub Check1_Click(Index As Integer)
    If Check1(0).Value = 1 And b(0) = True Then
       Check1(1).Value = 0
       b(1) = True
       b(0) = False
    End IfIf Check1(1).Value = 1 And b(1) = True Then
       Check1(0).Value = 0
       b(1) = False
       b(0) = True
    End If
    End Sub
      

  3.   

    Private Sub Check1_Click(Index As Integer)
    Select Case Index
    Case 0
    If Check1(O).Value = 0 Then
    Check1(1).Value = 1
    Else
    Check1(1).Value = 0
    End If
    Case 1
    If Check1(1).Value = 0 Then
    Check1(0).Value = 1
    Else
    Check1(0).Value = 0
    End If
    End Select
    End Sub