VB.NET - 如何在另一个变量名中使用变量?

时间:2016-11-01 18:20:04

标签: vb.net

我将如何做类似的事情:

 Dim amnt As Integer
   For x As Integer = 1 To 6
        If amnt[x] = 0 Then
          btn[x].Enabled = False
        End If
    Next x

我的意思是,我可以通过使用名称中的另一个变量来引用变量。例如,如果" x"是4,然后我想改变按钮" btn4" to .Enabled = False,但我也希望能够改变我改变属性的按钮。所以喜欢

 If (variablesName & x) = 0 Then

如果x为4,那么它应该是这样的

If variablesName4 = 0 Then

1 个答案:

答案 0 :(得分:2)

如果您的意思是通过将变量作为字符串提供来评估变量,那么这不能在VBA中完成。

例如:

Dim testVar As Integer
Dim v As String

v = "Var"
testVar = 5

Debug.Print test & v '// error
Debug.Print "test" & v '// prints "testVar" as a string
Debug.Print "testVar" '// prints "testVar" as a string
Debug.Print testVar '// prints "5" <~~ only way it can be done

但是,对于某些控件和其他一些项 - 您可以访问父集合并提供字符串值以获取正确的索引。如下所示:

For i = 1 To 10
    '// Will set checkboxes 1 to 10 to be checked
    myForm.Controls("Checkbox" & i).Checked = True
Next

就目前而言 - 提出明确答案的问题太广泛了,但根据您正在使用的对象类型,您可以通过这种方式访问​​父集合。