例如,我在VB Designer中有5个不同名称的文本框 TextBox1,TextBox2 .... TextBox5
是否有任何简单的方法通过递归使用1行来加载/检查TextBox1、2 ... 5?
我正在尝试使用列表数据结构列表加载文本框。 因此,每次我必须放置一个TextBox(number).Text来加载它。
Private Sub addbutton_click() handles addbutton.click
TextBox1.Text=MyList1(Some_constant)(other_constant).Name(0)
TextBox2.Text=MyList1(Some_constant)(other_constant).Name(1)
End Sub
我想使用一个for循环,它看起来应该像这样,以便我可以遍历Name(0),(1)和TextBox(number).Text。由于textBox是VB工具项,因此我无法遍历TextBox(number)。
Private Sub addbutton_click() handles addbutton.click
For i As Integer = 0 to 5
TextBox(i).Text = MyList1(Some_constant)(other_constant).Name(i)
Next i
End Sub
答案 0 :(得分:2)
将索引值添加到TextBox的Tag
属性中。
需要进行递归处理时,循环遍历控件:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
'get your list of text boxes
For Each tb As TextBox In Me.Controls.OfType(Of TextBox)
Dim indexValue As Integer
'get your index value out the tag
Integer.TryParse(tb.Tag, indexValue)
'use it
tb.Text = MyList1(Some_constant)(other_constant).Name(indexValue)
Next
Catch ex As Exception
MessageBox.Show(String.Concat("An exception occurred: ", ex.Message))
End Try
End Sub