String 我可以在Visual Basic中使用字符串作为名称来更改对象属性吗?

String 我可以在Visual Basic中使用字符串作为名称来更改对象属性吗?,string,vb.net,variables,String,Vb.net,Variables,我的想法并不难。我有一个按钮,一个名为“progname”的字符串,一个文本框和三个进度条 当我在文本框中输入一个数字并按下按钮时,下面的代码就完成了 Dim progname As String progname = "Progressbar" & TextBox1.Text 现在我有一个名为“progname”的字符串,它具有相关的值 我想要实现的是写下如下内容: progname.Value += 1 无法执行,因为“Value”不是“String”的成员。我该怎么做

我的想法并不难。我有一个按钮,一个名为“progname”的字符串,一个文本框和三个进度条

当我在文本框中输入一个数字并按下按钮时,下面的代码就完成了

Dim progname As String
    progname = "Progressbar" & TextBox1.Text
现在我有一个名为“progname”的字符串,它具有相关的值

我想要实现的是写下如下内容:

progname.Value += 1 
无法执行,因为“Value”不是“String”的成员。我该怎么做? 总的来说,我想要的是能够通过在文本框中键入数字1-3中的一个来选择三个进度条中的一个,然后更改它们的属性。

是的,您可以

一个基本的例子是,它在表单中搜索名称与字符串匹配的控件。然后它将类型更改为
ProgressBar
,以便您可以访问所有方法

Dim progbar As ProgressBar = CType(Me.Controls.Find(progName, False)(0), ProgressBar)
progbar.Value += 1

字符串“progressbar”与对象引用不同。如果知道控件的名称,可以从controls集合中查找它。请阅读并接受“不要让用户键入数字”命令,希望有一个控件在名称末尾实际存在该数字。这听起来像是一个问题,如果你能更详细地了解一下你真正想要实现的目标,那就更好了。非常感谢!我一直在玩类似的东西,但没能真正让它发挥作用。这个很好用!