Vb里的问题:一组 check控件数组,我要按下一个 先是别的选中的都取消选中, 再选中按下的这个 怎么办 ?

如题所述

第1个回答  2012-03-15
check控件是复选框,按你所述改用option控件,自然就是你要的效果 ,“一个也不选中”,你可以在最后再加一个选项“以上都不选”追问

那个最少要选一个 ,我要允许一个也不选中的

追答

我的意思是,假定你原有A,B,C,D四个选项,现在你再加上第五个,“以上都不选”.

"按下一个 先是别的选中的都取消选中, 再选中按下", 你的选择一定是单选,所以还是应该考虑option控件。

第2个回答  2012-03-15
Private Sub Check1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim i As Integer
For i = 0 To Check1.Count - 1
Check1(i).Value = IIf(i = Index, 1, 0)
Next
End Sub本回答被提问者采纳
第3个回答  2012-03-15
假设你的控件数组的名字是CheckBox1(0~10),你这样可以定义控件的事件程序
Private Sub CheckBox1_Click(Index As Integer)
dim i,j as Integer
for i=0 to CheckBox1.Count-1
CheckBox1(i).Value=0
next i
CheckBox1(Index).Value=1
End Sub
第4个回答  2012-03-15
checkbox 本身允许多选,你的问题,建议用 optionbutton, 这个是单选追问

那个最少要选一个 ,我要允许一个也不选中的。

追答

一个也不选中,教材中好像是设置一个不可见的,默认选中这个。

第5个回答  2012-03-15
同意楼上
相似回答