关于动态创建控件组的问题
我已经创建成功了一个控件组名称为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 '出错
上面三个出错,请帮忙解决 展开
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 '出错
上面三个出错,请帮忙解决 展开
2个回答
展开全部
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
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
然后在代码里加载控件数组
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询