首先在picture中画一个textbox,然后将属性index设成0,visable设成false,name设置成txtbox 使用一下代码就可以了dim i as integer for i= 1 to 10 load txtbox(i) txtbox move i*10,i*10,i*10,i*10 txtbox.visabled=true next
'首先在picture中画一个textbox , 然后将属性index设成0, '使用一下代码就可以了Private Sub Form_Load() Dim i As Integer Text1(i).Text = Str(0) Text1(0).Move 200, 0, 1000, 300 For i = 1 To 10 Load Text1(i) Text1(i).Move 200, i * 300, 1000, 300 Text1(i).Text = Str(i) Text1(i).Visible = True Next End SubPrivate Sub Text1_Click(Index As Integer) Cls Print Index End Sub 'VB5.0+Win98Se通过 'VB6.0+Win98Se通过
'首先在picture1中画一个Text1 , 然后将属性index设成0, '使用一下代码就可以了Private Sub Form_Load() Dim i As Integer Text1(i).Text = Str(0) Text1(0).Move 200, 0, 1000, 300 For i = 1 To 10 Load Text1(i) Text1(i).Move 200, i * 300, 1000, 300 Text1(i).Text = Str(i) Text1(i).Visible = True Next End SubPrivate Sub Text1_Click(Index As Integer) Cls Print Index End Sub 'VB5.0+Win98Se通过 'VB6.0+Win98Se通过
'首先在picture1中画一个Text1 , 然后将属性index设成0, '使用一下代码就可以了Private Sub Form_Load() Dim i As Integer Text1(i).Text = Str(0) Text1(0).Move 200, 0, 1000, 300 For i = 1 To 10 Load Text1(i) Text1(i).Move 200, i * 300, 1000, 300 Text1(i).Text = Str(i) Text1(i).Visible = True Next End SubPrivate Sub Text1_Click(Index As Integer) Cls Print Index End Sub 'VB5.0+Win98Se通过 'VB6.0+Win98Se通过
这个要用到控件的自动生成所以可以这样来:Dim txtbox() As Control Dim names As StringPrivate Sub Form_Load() reDim txtbox(10) As Control '这里的10是暂时定义的。可以自己修改的。 End SubPrivate Sub Command1_Click() For i = 0 To 10 a = Mid(Str(i), 2) names = "label" & a Set txtbox(i) = Form1.Controls.Add("vb.textbox", names, picture1) '这里还可以对texbox(i)进行初始化,方法就不用赘述了。 '注意:::这里的names是你的txtbox的名字,不能重复,这里的picture1是你的txtbox的容器哦,, '以后要移除这些txtbox的方法是:remove textbox(i) 就行了。 Next i end for End Sub
使用一下代码就可以了dim i as integer for i= 1 to 10
load txtbox(i)
txtbox move i*10,i*10,i*10,i*10
txtbox.visabled=true
next
http://www.applevb.com/art/dyn_control.txt
还可以使用 SetParent
1.你把你的第一个textbox控件,即index为0的初始textbox放在picturebox中,设置其visible属性为false.
2.当你需要的任何时候,使用:load textbox(i)
textbox(i).visible=true
就可以了,这样生成的控件数组肯定在picturebox中的,位置可以随便自己设定。
如果是这样请到VB网站上找相关的资料
要不就用visible属性
'使用一下代码就可以了Private Sub Form_Load()
Dim i As Integer
Text1(i).Text = Str(0)
Text1(0).Move 200, 0, 1000, 300
For i = 1 To 10
Load Text1(i)
Text1(i).Move 200, i * 300, 1000, 300
Text1(i).Text = Str(i)
Text1(i).Visible = True
Next
End SubPrivate Sub Text1_Click(Index As Integer)
Cls
Print Index
End Sub
'VB5.0+Win98Se通过
'VB6.0+Win98Se通过
'使用一下代码就可以了Private Sub Form_Load()
Dim i As Integer
Text1(i).Text = Str(0)
Text1(0).Move 200, 0, 1000, 300
For i = 1 To 10
Load Text1(i)
Text1(i).Move 200, i * 300, 1000, 300
Text1(i).Text = Str(i)
Text1(i).Visible = True
Next
End SubPrivate Sub Text1_Click(Index As Integer)
Cls
Print Index
End Sub
'VB5.0+Win98Se通过
'VB6.0+Win98Se通过
'使用一下代码就可以了Private Sub Form_Load()
Dim i As Integer
Text1(i).Text = Str(0)
Text1(0).Move 200, 0, 1000, 300
For i = 1 To 10
Load Text1(i)
Text1(i).Move 200, i * 300, 1000, 300
Text1(i).Text = Str(i)
Text1(i).Visible = True
Next
End SubPrivate Sub Text1_Click(Index As Integer)
Cls
Print Index
End Sub
'VB5.0+Win98Se通过
'VB6.0+Win98Se通过
Load Text1(1)
Set Text1(1).Container = Me.Picture1
Text1(1).Top = 100
Text1(1).Left = 100
Text1(1).Visible = True
Dim names As StringPrivate Sub Form_Load()
reDim txtbox(10) As Control
'这里的10是暂时定义的。可以自己修改的。
End SubPrivate Sub Command1_Click()
For i = 0 To 10
a = Mid(Str(i), 2)
names = "label" & a
Set txtbox(i) = Form1.Controls.Add("vb.textbox", names, picture1)
'这里还可以对texbox(i)进行初始化,方法就不用赘述了。
'注意:::这里的names是你的txtbox的名字,不能重复,这里的picture1是你的txtbox的容器哦,,
'以后要移除这些txtbox的方法是:remove textbox(i) 就行了。
Next i
end for
End Sub
可以是你想要的Picturebox
具体用法如:
ld = SetParent(你的控件句柄,容器控件的句柄)