注册 登录
编程论坛 VB6论坛

晕头了,求大神讲解一下,越详细越好,最好给个例子

qmc1998 发布于 2016-04-21 14:42, 1993 次点击
我前面做了个只能输入8个字符的文本框,接着我加了一个单选框,发现单选框选中后不能取消,网上查了一下后,就从第一个单选框复制粘贴了一个单选框,系统提示是否创建控件数组。我选了否。然后在这两个单选框中各加了一段代码。实现了控制文本框输入的字符是可见还是不可见的功能。
我发现用两个单选框实现可见不可见功能不合理,就又从第一个文本框复制了一个文本框(系统又提示是否创建控件数组,我还是选否),然后用了一个复选框去实现控制第二个文本框的可见不可见功能。
以上步骤都正常通过了。
我就琢磨那个系统的提示是什么意思,就对复选框进行复制,当系统提示是否创建控件数组时,我选了“是”
尼玛,这下全乱套了,调试报告N个错误(好像是申明控件的问题),直到我依次一个一个把这些控件删除,都没有用。

三个问题:
1、为什么创建了控件数组就出问题?
2、当我选了“是”创建控件数组后,再复制控件,系统就不再提问了,是怎么回事?
3、如果我想创建两组不同功能的单选框(每组最少两个单选框),互相不干扰。怎么实现。因为我发现创建再多的单选框,它们都是一组的。
求大神不要嫌问题太原始,先谢谢了。
3 回复
#2
xiangyue05102016-04-21 15:54
控件数组百度一下就可以知道了,其实很简单
因为我现在没有VB,已经换成了.net。所以只能给你一个很简单的例子:
一个计算器程序,0~9做成控件数组,按任何一个就是在现在数字后面加上点击的数(先不考虑变成第二个运算数的情况)
Private Sub CommandNum_Click(Index As Integer)  

 TextBoxNum.Text= TextBoxNum.Text &  Index '按任何一个就是在现在数字后面加上点击的数,正好和Index对应
End Sub

你的问题:
1. 控件数组的话,事件中会带有序号,如CommandNum_Click(Index As Integer)  中的Index,修改其属性也是一样,CommandNum(i).Caption
2. 没有这个数组复制的时候他会问题的,但已经存在的情况下默认就加入这个数组。  
3. 用Frame这样的容器控件,不同的分组放在不同的容器中,才能互不干扰
#3
yangfrancis2016-04-21 19:37
先做frame控件,在同一个frame里面做单选框是互斥的,不同的frame里面单选框不相干
#4
qmc19982016-04-22 09:53
非常感谢楼上两位。
1