关于动态创建控件组的问题

我已经创建成功了一个控件组名称为lab,现在我要通过controls的方法引用这个控件组或它的成员,但是程序提示出错,不支持这种引用PrivateSubCommand1_... 我已经创建成功了一个控件组 名称为 lab,现在我要通过controls的方法引用这个控件组或它的成员,但是程序提示出错,不支持这种引用
Private Sub Command1_Click()
Dim lab() As Label
ReDim lab(10) As Label
Dim i%
For i = 0 To 10
Set lab(i) = Controls.Add("vb.label", "lab" & i)
lab(i).Visible = True
Next i

MsgBox lab.Count '出错

Call my1("lab")
End Sub

Function my1(s_lab)
MsgBox Controls(s_lab).Count '出错
MsgBox Controls(s_lab)(1).Caption '出错
上面三个出错,请帮忙解决
展开
 我来答
牛人影视
2011-11-23 · TA获得超过1395个赞
知道大有可为答主
回答量:1491
采纳率:0%
帮助的人:1616万
展开全部
private sub command1_click()
Dim lab(10) As Label
Dim i%
For i = 0 To 10
Set lab(i) = Controls.Add("vb.label", "lab" & i)
lab(i).caption=i+1
lab(i).Visible = True
Next i
MsgBox UBound(lab) + 1
Call my1(lab)
End Sub

Function my1(s_lab() As Label)
MsgBox UBound(s_lab) + 1
MsgBox s_lab(1).Caption
End Function
更多追问追答
追问
基本解决我的问题了
如果必需要用到动态控件组的count属性应该怎么写呢(因为如果我删除其中某一个控件后,ubound(s_lab)值就不等于控件总数了"
追答
你先在窗体放一个lab控件,index属性=0
然后在代码里加载控件数组
班丘晓桐0U
2011-11-23 · TA获得超过446个赞
知道小有建树答主
回答量:739
采纳率:0%
帮助的人:621万
展开全部
lab是一个树组,需要使用UBOUND方法获取其上限,另外,你创建的并不是控件数组,而是一个个的控件,名称分别为"lab0","lab1"等等.
创建控件数组应该使用load方法了
追问
你说的load 是创建动态控件组的方法之一
我用的是另一种方法,不需要手动画一个控件,再创建
追答
en!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式