vb.net在数组

时间:2015-05-18 19:42:42

标签: vb.net

我的程序能够在运行时添加文本框。运行时表单上的文本框数量存储在变量i中。我需要创建一个数组,该数组存储数组中某个位置的每个文本框中的所有值,最大值为i。所有文本框的名称都向上计数。例如:

  • Textbox1的
  • TextBox2中
  • Textbox3

等等。总之,有没有什么方法可以在数组中存储i数量的文本框的值?任何帮助将不胜感激,谢谢。

附加说明:

  • 这个程序有点像注册表,除了表单上可以有任意数量的文本框存储在数组中。
  • 按钮按下会触发将文本框的值添加到数组的过程,因此我无法在创建文本框时添加它们的值。

2 个答案:

答案 0 :(得分:2)

在运行时创建文本框时,将文本框添加到列表中,类似于以下内容:

    Dim textboxes As New List(Of TextBox)
    For I = 1 To 3
        Dim tb As New TextBox
        textboxes.Add(tb)
    Next

然后,您可以枚举列表并分别处理每个文本框。与下面类似:

    For Each tb As TextBox In textboxes
        Dim value As String = tb.Text
    Next

答案 1 :(得分:1)

您可以使用字典存储每个文本框的索引和相关的文本框值。像这样定义字典:

Dim dict As New Dictionary(Of String, String)

像这样填充:

For index As Integer = 0 To 5
    dim txtBox = new TextBox
    txtBox.Name = index ' we'll make this index the name
    MyForm.Controls.Add(txtBox);
    dict.Add(index, txtBox )
Next

然后像这样使用它:(例如,当文本更改且文本控件是发件人时)

dim txtBox = (TextBox)sender;
dict(txtBox .Name) = txtBox .Text

以下是一些参考我上面使用的内容的链接:

将代码样本带上一粒盐。我没有使用IDE的计算机。

相关问题