Board logo

标题: VB6中"复选框"问题如何控制用户选定个数呢? [打印本页]

作者: netice    时间: 2006-4-4 11:26     标题: VB6中"复选框"问题如何控制用户选定个数呢?

在VB6中,我想让用户最多选定2个复选框,如何控制呢?在选定第三个时其他的自动取消选定..
先谢过了!
作者: Nothing    时间: 2006-4-4 20:23

在窗体加加下面代码<然后要每个CheckBox的Click事件中加入 CheckCheckBox Check控件
例如:<
作者: netice    时间: 2006-4-4 22:29

我运行了下..发现你做的这个不是随机的,而是第3个CheckBox即CheckBox3总被弹起,若超过3个的话CheckBox3就被弹起...是不是应该用个控件组来控制呢?

这是一个想法你看看是不是行..我运行了下发现只能倒着选中可以实现,正着选中就不能被选中了;
请帮我改改让它正反都能实现..谢谢了啊!
我用了4个CheckBox控件成为一个checkeBox控件组,打算只是让用户只能选中一个
che1为CheckBox控件name

  Option Explicit
  Dim i, j  As Integer

Private Sub Che1_Click(Index As Integer)
   For i = 0 To 3 '检查是否有被选中的CheckBox
      If Che1(i).Value = 1 Then
          For j = 0 To 3 '若有的话就进行检查是否存在第2个CheckBox控件被选中
               If j <> i Then
                        If Che1(j).Value = 1 Then '有的话就取消选中
                               Che1(j).Value = 0
                         End If
               End If
          Next j
     End If
    Next i

End Sub
Private Sub Form_Load() '加载时四个控件全为未被选中

   For i = 0 To 3
   Che1(i).Value = 0
   Next i
End Sub

[ 本帖最后由 netice 于 2006-4-4 22:35 编辑 ]
作者: Nothing    时间: 2006-4-4 23:28

使用数组是一个简单的办法,在数组的CLICK事件中,其实加个条件就可以了,提示你一下,Che1(Index)是当前的CheckBox。
你只要判断其他的Che1都没选中就行了,即i<>Index时,代码就不给你写了,你自己研究吧。
作者: netice    时间: 2006-4-5 10:08

十分感谢,我研究一下
作者: netice    时间: 2006-4-5 14:59

已经搞定。。OK!十分感激啊 。。。。。……^@^……
作者: Nothing    时间: 2006-4-5 18:34

搞定了就好,哈哈。




欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/) Powered by Discuz! 6.0.0