VB.Net循环使用变量

时间:2016-06-07 08:43:56

标签: vb.net loops controls

我需要设置一些控件的文本。

我有FormCheckBoxesTextBoxes

VBA中(如果我有5个文本框名为“TextBox1”,“TextBox2”,...“TextBox5”)我可以使用以下内容:

For n = 1 To 5
    Me("TextBox" & n).Text = NeededValue 
Next n

我知道VB.Net也可以这样,但我找不到合适的语法(我在SO上找不到类似的代码)。

我尝试过使用

Me.Controls() 

但我无法以这种方式插入控件名称

2 个答案:

答案 0 :(得分:4)

Me.Controls.Find("TextBox" & n, True)

将是您的VBA风格的类似方法。

答案 1 :(得分:0)

使用For Each,然后使用TypeOf进行测试,找到TextBoxes中的所有form,如:

For Each myObject1 As [Object] In Me.Controls
     If TypeOf myObject1 Is TextBox Then
         TryCast(myObject1, TextBox).Text = "NeededValue"
     End If
Next

另外:

 Dim myText = {TextBox1, TextBox2, TextBox3, TextBox4, TextBox5}
        For Each btn In myText
            btn.Text = "NeededValue"
        Next

For i As Int32 = 1 To 5
    Dim Txt = Me.Controls.Find("TextBox" & i, True)
    If Txt.Length > 0 Then
        Txt(0).Text = "blah"
    End If
Next

或者:

  For i As Int32 = 1 To 5
       Dim Txt = Me.Controls.Find("TextBox" & i, True)
         If Txt.Length > 0 Then
            Txt(0).Text = "NeededValue"
         End If
   Next