Vb.net 如何通过变量引用工具箱项来更改工具箱项属性?

Vb.net 如何通过变量引用工具箱项来更改工具箱项属性?,vb.net,string,Vb.net,String,很抱歉让人困惑的标题-这是我正在使用的代码 示例代码- If bolCorrect = False Then intIncorrect += 1 temp3 = "picture" + CStr(intIncorrect) temp3.Visible = True 我有几张图片,都有图片的名称[number-from-0-to-10],我希望它们根据变量的计数显示出来 它抛出的错误是“可见”不是“字符串”的一部分。如何让解释器在本例中查看

很抱歉让人困惑的标题-这是我正在使用的代码

示例代码-

    If bolCorrect = False Then
        intIncorrect += 1
        temp3 = "picture" + CStr(intIncorrect)
        temp3.Visible = True
我有几张图片,都有图片的名称[number-from-0-to-10],我希望它们根据变量的计数显示出来


它抛出的错误是“可见”不是“字符串”的一部分。如何让解释器在本例中查看“temp3”,并引用工具箱项而不是变量的类型(例如字符串)?

您需要引用为picturebox控件设置的实际名称属性(如果您使用picturebox控件) 因此,如果您的图片框控件名为pb1

pb1.Image = System.Drawing.Image.FromFile("picture" + counter + ".jpg")
pb1.Visible = True

通常,您应该避免通过字符串寻址控件,这通常只是对正确解决方案的一种攻击。相反,为该控件维护一个变量,或者,在您的例子中,维护一个相关控件的数组,并通过索引访问它们

也就是说,可以通过以下方式获得一个名为的控件:


这不是OP想要的,它不会编译。很抱歉,忘记了System.Drawing.Image.FromFile方法另一句话:
如果something=False,那么
是多余的。写成
如果不是什么,那么就写成
。将变量与布尔文字(
True
/
False
)进行比较是没有意义的(!)。这些文字仅在初始化布尔变量时有用。
Dim ctl = Me.Controls("picture" + CStr(intIncorrect))