简体   繁体   中英

How to create multiple text box when run time in vb2005

How to create multiple text box when run time in vb2005 ?

Please guide me a coding.

 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

Try something like this:

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

Then you can access it by its name:

Me.Controls("txt5").Text = "blah bleh"

you can create multiple textbox at runtime with this code below.

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

let me know if it works fine for you.

Regards.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM