做成空间数组,然后在MouseUp 事件中加入Private Sub chkGSMZCD_MouseUp(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)
  Call CheckOne(Index, 3, chkGSMZCD)
End Sub
Public Sub CheckOne(Index As Integer, num As Integer, check As Variant)
    Dim i As Integer
    For i = 0 To (num - 1)
    If check(i).value = 1 And i <> Index Then
        check(i).value = 0
    End If
    Next
End Sub

解决方案 »

  1.   

    我后来试了一下,发觉用checkbox,把属性style=1就可以达到我想要的效果,只是checkbox初始就是凸出来的,如果能该成平的就好了
      

  2.   

    这样不就失去用复选框的意义了吗?为何不用Radio?
      

  3.   

    最好把几个控件组成一个控件数组,这样比较好处理。下面是代码(Check1): 
        Private Sub Check1_Click(Index As Integer) 
         Dim i As Integer
         If Check1(Index).Value = Checked Then 
            For i = 0 To Check1.Count - 1 
                If i <> Index Then Check1(i) = Unchecked 
            Next i 
         End If 
        End Sub