如何在vb2005中运行时创建多个文本框

时间:2013-08-30 05:07:27

标签: .net vb.net

如何在 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

2 个答案:

答案 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

让我知道它是否适合您。

问候。