VB 2010 - 具有标签名称值的变量

时间:2011-11-04 20:03:13

标签: vb.net

我正在使用VB 2010 Express,并在我的表单中有一个名为“lblTitle”的标签。 下一个代码不起作用,我知道,但我怎么能这样做呢?

Dim bla As String
bla = "lblTitle"
bla.Text = "Hello world"

编辑:我想访问标签属性而不实际拥有其名称。 我从文本文件中得到它的名字。

编辑2:谢谢大家! 谷歌搜索这个功能后你提到我得到了它:

   Dim bla = "lblName"
   Me.Controls(bla).Text = "Dan"

虽然“lblName”是表单中的标签名称。

5 个答案:

答案 0 :(得分:1)

试试这个:

Dim myLabel As Label = DirectCast(Page.FindControl("lblTitle"), Label)
myLabel.Text = "some new value"

答案 1 :(得分:1)

经过深入的谷歌搜索,答案似乎很简单:

   Dim bla = "lblName"
   Me.Controls(bla).Text = "Dan"

lblName是表单中标签的名称。 谢谢你们

答案 2 :(得分:0)

假设您使用的是Windows窗体,则可以执行此操作:

DirectCast(Me.Controls.Find("lblTitle", True)(0), Label).Text = "Hello world"

答案 3 :(得分:0)

DirectCast(Page.FindControl("lblTitle"), Label).Text = "some new value"

答案 4 :(得分:0)

似乎最好的方法是创建一个表示控件名称的字符串,然后将其转换为控件。这样您也可以节省变量。您的方法似乎可行,但我不确定它一旦运行它不会失败。此外,如果您尝试访问更具体的控件类型的属性,它将在IDE中引发错误,而不是像Text一样常见的东西。请参阅我密切相关的问题:

accessing multiple form controls using a variable for the name