2016-11-05 72 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你可以通过名字找到控件。 –