2011-11-04 65 views
2

我正在使用VB 2010 Express,並在我的表單中有一個名爲「lblTitle」的標籤。 下一個代碼不起作用,我知道它,但我該怎麼做這樣的事情?VB 2010 - 具有標籤名稱值的變量

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

編輯:我想訪問一個標籤屬性,而不需要它的名字。 我從文本文件中獲得它的名字。

編輯2:謝謝大家! 谷歌搜索你提到我知道了這個功能後:

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

雖然「lblName」爲標籤的名稱形式。

+1

那你想幹什麼?你有什麼打算? –

+0

編輯我的問題。我的意圖現在清楚了嗎? –

+0

經過深入的谷歌,讓我們說,「bla」是變量: Me.Controls(「lbl」&bla).Text –

回答

1

了深刻的谷歌搜索後,答案似乎很容易爲:

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

while lblName是表單中標籤的名稱。 謝謝你們

1

試試這個:

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

你可以做到這一點假設你使用Windows窗體:

DirectCast(Me.Controls.Find("lblTitle", True)(0), Label).Text = "Hello world" 
0
DirectCast(Page.FindControl("lblTitle"), Label).Text = "some new value" 
0

看起來像這樣做的最好方法是創建一個字符串表示控件的名稱,然後將其轉換爲控件。這也節省了你不得不做一個變量。你的方法可能似乎工作,但我不確定一旦你運行它不會失敗。另外,如果你試圖訪問一個更特定於控件類型的屬性,而不是像Text這樣常見的東西,它會在IDE中拋出一個錯誤。見我密切相關的問題:

accessing multiple form controls using a variable for the name