首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

能不能动态地生成控件,该如何处理

2012-01-26 
能不能动态地生成控件我有个这样的想法:在一个form的text中输入一个数字,比如3。然后面此form中就自动的生

能不能动态地生成控件
我有个这样的想法:在一个form的text中输入一个数字,比如3。然后面此form中就自动的生成3个text控件。
不知道各位大虾有没有办法。
谢谢了。

[解决办法]
先放一个command空间和 text1控件的index设为0,贴下面代码
Private Sub Command1_Click()
Load Text1(1)
Text1(1).Top = Text1(0).Top + 1000
Text1(1).Visible = 1
Load Text1(2)
Text1(2).Top = Text1(1).Top + 1000
Text1(2).Visible = 1
End Sub
[解决办法]
楼上的办法也不错。

实际上,VB 也可以动态生成 控件 的,但不能生成控件数组,想使用控件数组,需要自己重新组织。

Option Explicit
Dim WithEvents text1 As VB.TextBox
Dim text2 As VB.TextBox

Private Sub Form_Load()
Set text1 = Controls.Add( "VB.TextBox ", "text1 ")
text1.Visible = True

Set text2 = Controls.Add( "VB.TextBox ", "text21 ")
text2.Visible = True
text2.Top = 500
End Sub

[解决办法]
'加入一个TextBox
Set ctlText = Controls.Add( "VB.TextBox ", "ctlText1 ", Form1)

'设置TextBox的位置和尺寸
ctlText.Move (ctlDynamic.Left + ctlDynamic.Width + 50), _
1, 2500, 100
'将textBox的背景色设置为蓝色并将前景色设置为白色
ctlText.BackColor = vbBlue
ctlText.ForeColor = vbWhite
'使TextBox可见
ctlText.Visible = True

热点排行