如何在 vb2005 中运行时创建多个文本框?
请指导我编码。
dim st as string
dim rownum as integer=36
For j As Integer = 0 To dt.Rows.Count - 1
rownum= rownum + rownum
st = "txt"
Dim "txt" & CStr(j) As New TextBox
"txt" & CStr(j).location(0,rownum)
Next
答案 0 :(得分:0)
尝试这样的事情:
For j As Integer = 0 To dt.Rows.Count - 1
Dim tb As New TextBox()
rownum += rownum
Me.Controls.Add(tb)
tb.Location = New Point(0, rownum)
tb.Name = "txt" & j.ToString()
Next
然后您可以通过其名称访问它:
Me.Controls("txt5").Text = "blah bleh"
答案 1 :(得分:0)
您可以在运行时使用以下代码创建多个文本框。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim newbox As TextBox
For i As Integer = 1 To 5 ' 5 indecates the number of textbox you want to create.
'create a new textbox and set its properties
newbox = New TextBox
newbox.Size = New Drawing.Size(100, 20)
newbox.Location = New Point(10, 10 + 25 * (i - 1))
newbox.Name = "TextBox" & i
newbox.Text = newbox.Name
'connect it to a handler, save a reference to the array and add it to the form controls
AddHandler newbox.TextChanged, AddressOf TextBox_TextChanged
boxes(i) = newbox
Me.Controls.Add(newbox)
Next
End Sub
Private Sub TextBox_TextChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
'when you modify the contents of any textbox, the name of that textbox and
'its current contents will be displayed in the title bar
Dim box As TextBox = DirectCast(sender, TextBox)
Me.Text = box.Name & ": " & box.Text
End Sub
让我知道它是否适合您。
问候。