2013-08-30 59 views
0

如何在運行時創建多個文本框vb2005如何在運行時在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

嘗試是這樣的:

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" 
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 

讓我知道它是否適用於您。

問候。

相關問題