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

时间:2017-11-14 01:36:08

标签: string vb.net variables

我的想法并不太难。我有一个按钮,一个名为“progname”的字符串,一个TextBox和三个Progressbars。

当我在TextBox中输入一个数字并按下按钮时,下面的代码会一直运行。

Dim progname As String
    progname = "Progressbar" & TextBox1.Text

现在我有一个名为“progname”的字符串,其中包含相关值。例如“Progressbar2”。

我想要实现的目标是:

progname.Value += 1 

无法完成,因为“Value”不是“String”的成员。我怎样才能做到这一点? 总的来说,我想通过在TextBox中输入一个数字1-3来选择三个进度条中的一个,然后更改那些属性。

1 个答案:

答案 0 :(得分:0)

是的,你可以。

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

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