我需要动态创建文本框。 这是我的代码,但有了这个,我只创建了一个文本框:
Public Sub CreateTextBox()
Dim I As Integer
Dim niz As Array
For I = 1 To 5
Dim myTextBox = New TextBox
myTextBox.Text = "Control Number:" & I
Me.Controls.Add(myTextBox)
Next
End Sub
那我怎么能动态创建文本框?
谢谢!
答案 0 :(得分:2)
您可能还想创建一个单独的文本框集合,以便您可以从Forms.Controls集合中单独访问它们。
此外,您可能希望使用.Tag属性以某种方式标识创建的控件。
答案 1 :(得分:2)
此代码实际上创建了TextBox
的5个实例,并将它们添加到当前表单中。问题是你要将它们添加到另一个之上。您需要使用布局机制才能正确显示它们。
例如,此代码会以自上而下的方式将它们添加到FlowLayoutPanel
。
Public Sub CreateTextBox()
Dim I As Integer
Dim panel as New FlowLayoutPanel()
panel.FlowDirection = FlowDirection.TopDown
For I = 1 To 5
Dim myTextBox = New TextBox
myTextBox.Text = "Control Number:" & I
panel.Controls.Add(myTextBox)
Next
Me.Controls.Add(panel)
End Sub
答案 2 :(得分:0)
您需要将控件的ID属性设置为每个控件的唯一属性。还要记住,使用动态创建的控件,您必须使用每个页面帖子重新创建它们,以便能够从控件集合中检索任何信息。