我正在使用VB 2010 Express,并在我的表单中有一个名为“lblTitle”的标签。 下一个代码不起作用,我知道,但我怎么能这样做呢?
Dim bla As String
bla = "lblTitle"
bla.Text = "Hello world"
编辑:我想访问标签属性而不实际拥有其名称。 我从文本文件中得到它的名字。
编辑2:谢谢大家! 谷歌搜索这个功能后你提到我得到了它:
Dim bla = "lblName"
Me.Controls(bla).Text = "Dan"
虽然“lblName”是表单中的标签名称。
答案 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