是否可以使用变量的值访问特定控件?

时间:2015-02-09 09:01:48

标签: vb.net

我需要通过变量" number"来创建一个函数。去指定我改变颜色的控件的编号。

Private Function match_color(partita, number)
    If partita = "W" Then
        MetroTile1.BackColor = Color.Green 'this is a specific control
    ElseIf partita = "D" Then

    ElseIf partita = "L" Then

    End If
End Function

我的目标是访问控制号2,所以我调用match_color函数:

match_color("D",2)

并且更改颜色的控件数为MetroTile2.BackColor = Color... 我不知道我是否明确了这个想法,但只是变量" number" 指定了更改颜色的控件的编号。

1 个答案:

答案 0 :(得分:1)

为什么您的业务逻辑依赖于控件在其父控件中的数量?这是毫无意义且容易出错的。话虽如此,您可以使用Controls.Find

Dim controls = Me.Controls.Find("MetroTile" & number, True) ' False if not recursive
If controls.Length > 0 Then
    controls(0).BackColor = Color.Green ' or use a loop if you expect multiple
End If