VB.Net动态引用变量或控件

时间:2015-06-02 00:55:51

标签: vb.net

尝试解释我正在构建的实际应用程序需要很长时间。

让我们说,我的表单上有3个文本框。我想将它们中的每一个设置为数字索引的值。这就是我通常会这样做的。

txt1.Text = "1"
txt2.Text = "2"
txt3.Text = "3"

现在,如果我有100个这样的文本框,我会想做更像这样的事情。

For i as Integer = 1 to 3
    txt[i].Text = i
Next 

这可能吗?

1 个答案:

答案 0 :(得分:0)

我就是这样做的:首先,创建一个列表或一个数组(取决于文本框的数量是否固定)并添加文本框:

Dim txtList as new list(of textbox)
txtList.items.add(txtBox1...

这可以使用jmcilhinney的方法自动完成(具有相同的警告):

Dim txtList = New List(Of TextBox)(Me.Controls.OfType(Of TextBox)().ToArray())

然后你可以这样引用它:

txtList(i).text

我希望你提出的问题是有帮助的。)