一个关于vb checkbox控件用法的问题,高手请来。

一共有3个checkbox控件,我想实现单选,也就是选中其中一个,其他两个取消选中状态。但是单选选中某个以后,再点击那个不可以取消选择。
提示一下,设置某个checkbox的value值,就会触发它的click事件,这样可能造成死循环。
请高手帮忙解决,非常感激。

为了简化代码,提高效率,最好把checkbox设为控件数组。下面以此为例,代码如下,运行即可。

Option Explicit
Dim IsBusy As Boolean

Private Sub Check1_Click(Index As Integer)
If Check1(Index).Value = 0 Or IsBusy Then Exit Sub
Dim i As Integer
IsBusy = True
For i = 0 To Check1.UBound
If i <> Index Then Check1(i).Value = 0
Next
IsBusy = False
End Sub

源码实例下载地址:http://www.fileurls.com/download.ashx?id=dtevhi
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-01-24
Private Sub Check3_Click()
If Check3.Value = 1 Then
Check1.Value = 0
Check2.Value = 0
End If
End Sub
Private Sub Check2_Click()
If Check2.Value = 1 Then
Check1.Value = 0
Check3.Value = 0
End If
End Sub
Private Sub Check1_Click()
If Check1.Value = 1 Then
Check2.Value = 0
Check3.Value = 0
End If
End Sub
第2个回答  2009-01-24
兄弟,用OptionButton单选按钮不就得了?为啥还得捣鼓Checkbox呢?
第3个回答  2009-01-25
还不如用单选呢

实在是。。。。。。。。没法说你了。。。。。。。。。。

问这个问题浪费事件。。。。。。。。。。。。。

没见过这样的。。。。。。。。。。。。

还有,设置某个checkbox的value值,并不会 触发它的click事件。只会触发它的Change事件。所以不会造成死循环~~~~~~~~~~~~
相似回答