在TextBox vb.net数组中更改TextBoxes的.Text属性

时间:2012-06-19 17:52:17

标签: vb.net visual-studio-2010 vb.net-2010

我有一组文本框。让我们说一下:

Dim BreakFast1() As TextBox = {txtMBreak1, txtTBreak1, txtWBreak1, txtThBreak1, txtFBreak1, txtSBreak1, txtSunBreak1}

我想要做的是为数组的每个文本框设置.Text属性。我试过这个:

For i As Integer=0 to 6
  BreakFast1(i).Text= "Smt"
Next

没有成功。我究竟做错了什么? 提前致谢

1 个答案:

答案 0 :(得分:0)

您发布的代码没有任何问题,但是假设您添加到数组的文本框实际上引用了实例化的TextBox对象。如果这些是null,它显然不起作用。要解决这个问题,您有以下几种选择:

  • Dim BreakFast1()...行向下移动到那些文本框对象实例化的位置。
  • 将文本框变量设置为该行之前的新实例。
  • 或者,放弃所有这些文本框变量,然后直接将它们实例化到数组中。

例如:

Dim BreakFast1() As TextBox = {New TextBox(), New TextBox(), New TextBox(), New TextBox(), New TextBox(), New TextBox(), New TextBox()}

当你遍历它们时,我建议使用For Each循环(除非你需要知道循环中的索引还有其他原因):

For Each i As TextBox In BreakFast1
    i.Text = "Smt"
Next