VB 生成一个控件数组

PrivateWithEventsaAsCommandButtonPrivateSubForm_Load()Seta=Form1.Controls.Add("vb.com... Private WithEvents a As CommandButton
Private Sub Form_Load()
Set a = Form1.Controls.Add("vb.commandbutton", "b")
a.Visible = True
End Sub
我这样生成的一个动态按钮,请问 如果用循环要生成多个按钮组的话 怎么做
展开
 我来答
无纸之图
2012-06-06 · 超过17用户采纳过TA的回答
知道答主
回答量:57
采纳率:100%
帮助的人:24.9万
展开全部
Public Function 创建控件数组(控件名 As Object, 源控件Index As Integer, 创建数量 As Long, 间距 As Integer, Optional 偏移 As Integer = 1) As Boolean
Dim I As Integer, ID As Integer
On Error GoTo 创建失败
ID = 控件名.UBound
For I = 1 To 创建数量
Load 控件名(ID + I)
With 控件名(ID + I)
Select Case 偏移
Case 1
.Top = 控件名(源控件Index).Top
.Left = 控件名(源控件Index).Left + (控件名(ID + I - 1).Width + 间距) * I
Case 2
.Top = 控件名(源控件Index).Top + (控件名(ID + I - 1).Height + 间距) * I
.Left = 控件名(源控件Index).Left
Case Else
MsgBox "偏向参数错误,纵向偏移=2,横向偏移=1", vbCritical, "创建控件数组"
Unload 控件名(ID + I)
Exit Function
End Select
.Visible = True
End With
Next
创建控件数组 = True
Exit Function

创建失败:
创建控件数组 = False
MsgBox "创建控件数组失败!" & vbCrLf & vbCrLf & "控件未设置 'Index' 属性,或" & vbCrLf & Err.Description & "。", vbCritical, "创建控件数组"
End Function
'首先添加一个 Command1 控件,并设置 Index 属性为 0。
Private Sub Form_Load()
创建控件数组 Command1, 0, 3, 120, 2
End Sub
星惶e
2012-06-04 · TA获得超过215个赞
知道小有建树答主
回答量:337
采纳率:40%
帮助的人:200万
展开全部
至少要有一个按钮并INDEX属性不能为空
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金华阿呆
2012-06-01 · TA获得超过126个赞
知道答主
回答量:184
采纳率:50%
帮助的人:98.3万
展开全部
Private Sub Form_Load()
Dim a(3) As CommandButton
For i% = 0 To 3
Set a(i%) = Controls.Add("VB.COMMANDBUTTON", "a" & Trim(Str(i)))
a(i%).Visible = True
a(i%).Move 120, 120 + i% * 720
Next i%

End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式