2016-11-05 73 views
0

所以。我有9個標籤,分別命名爲L1,L2,L3 ... L9。我只想顯示前N個標籤。我試圖創建字符串,但我不能使用字符串作爲變量名稱。那麼,我怎樣才能建立變量名稱,以便我可以隱藏它們?如何將字符串轉換爲標籤名稱?C#表單隱藏標籤。重複的

字符串名稱;

對(INT I = 1;我< = N;我++)

{

name = "L"+i.ToString(); 
name.Hide(); // error 

}

+0

'變種升= this.Controls.Find(的String.Format( 「L {0}」,i)中,真).FirstOrDefault();' –

回答

0

不能做到這一點您所描述的方式。你不能將你的名字作爲字符串並訪問變量。

標籤是一個變量,你必須按名稱訪問它。你最好的選擇是將所有數據添加到數組/列表中,並添加一個方法,顯示前N個項目並隱藏其他項目或類似內容。

像這樣:

var labels = Label[] { L1, L2, L3, ... } 

public void HideNLabels(int n) 
{ 
    foreach (Label label in labels.Take(n)) 
    { 
     label.Hide(); 
    } 
} 
+0

哦,理解。謝謝! :) –

+0

如果你喜歡它,請不要忘記接受並投票給答案:) –

+0

@IlyaChernomordik你可以通過名字找到控件。 –