注册 登录
编程论坛 VB6论坛

选择传感器界面的问题

chen3bing 发布于 2020-02-26 14:50, 2239 次点击
只有本站会员才能查看附件,请 登录

界面大概如上图。领导要求,8个选择按钮,上面四个一组,下面四个一组。
上面四个最多选择一个,也可以不选;下面四个最多选择一个,也可以不选。
我感觉不好实现,用单选按钮,8个只能选择一个,放到两个frame控件里至少选择一个,不可以不选。
用复选按钮,又可以选择多个,都不符合要求。请问高手,有什么好办法?谢谢!
8 回复
#2
ysr28572020-02-26 15:37
我的解决方法供参考:下面一组选择令一种控件,相当于单选按钮,只是不方便了,如下面的控件用下拉菜单列表,用几个按钮分别输入几行,在属性窗口每行赋值为0,1,2,3.
点下拉按钮,选0123就行。不懂,猜测,试试可行不。
#3
chen3bing2020-02-26 15:40
没看明白什么意思
#4
ysr28572020-02-26 15:45
下面给代码举例,两行的程序,分别输入了+   -符号,你可以多用两行,用4行。
Private Sub Form_Load()
With Combo1
.AddItem "+"
.AddItem "-"
.ListIndex = 0
End With
#5
ysr28572020-02-26 15:49
这里的.ListIndex = 0  就是不点击的时候始终选第一行。
#6
ysr28572020-02-26 16:04
代码可以这样:
Private Sub Form_Load()
With Combo1
.AddItem "序号5"
.AddItem "序号6"
.AddItem "序号7"
.AddItem "序号8"
.ListIndex = 0
End With
end  sub
#7
chen3bing2020-02-26 16:35
谢谢!明白什么意思了。可是这样貌似不行,两个组合框,这样写至少选择一个序号,不能不选。
#8
风吹过b2020-02-26 17:58
下拉列表,不方便操作。
建议用复选框。
在复选框响应事件里判断一下。

如果当前点击的控件为选中,那么就清掉其它选项的选择。这个直接使用循环直接清就行了。
否则不清了。

Private Sub Check1_Click(Index As Integer)
Dim ck As CheckBox                      '定义变量
If Check1(Index).Value = 1 Then         '当前是否选择
    For Each ck In Check1               '循环开始
        If ck.Index <> Index Then       '是否是当前控件
            ck.Value = 0                '不是,则设置未选择
        End If
    Next
End If
End Sub
#9
wmf20142020-02-26 18:34
Private Sub Command1_Click()
  '取消选择
  Option1.Value = False
  Option2.Value = False
  Option3.Value = False
  Option4.Value = False
End Sub

1