我有标签及其名称,例如label1,label2等。我知道如何显示标签,例如label1.visible = true
,但我想做的是使其中一些标签与其他名称(例如代码)可见下面
for (i = 0; i < ceksayisi*2; i++)
{
num = i;
labelname = "label" + num;
labelname.visible = true;
}
代码给了我'string' does not contain a definition for 'visible' and no extension method 'visible' accepting a first argument of type 'string' could be found (are you missing a using directive or an assembly reference?)
答案 0 :(得分:0)
您在这里犯了一个经典错误。您要查找的Droid是数组和其他集合。您不能在某些真正弱类型的语言之外构建像这样的变量名。
没有.NET Langauge弱键入。那是设计使然。
答案 1 :(得分:0)
要实现此目的,您应该在此处使用字典。
Dictionary<string, Label> keyValuePairs = new Dictionary<string, Label>();
然后使用相应的键在字典中添加标签
keyValuePairs.Add("label_" + num, label1);
您可以像访问标签一样
Label lbl = keyValuePairs["label" + num];
那么你就可以玩这个lbl
lbl.Visible = false;
答案 2 :(得分:0)
由于这是一种区分大小写的编程语言,因此它不适用于labelname.visible = true;
,但是您必须使用labelname.Visible = true;
编辑:
可能会被误解,如果您试图动态显示/隐藏您不知道名称的标签,则可以尝试执行以下操作:
for(int i = 0; i < ceksayisi*2; i++)
{
num = i;
Label labelname = (Label) Controls.Find("label" + num, true).FirstOrDefault();
labelname.Visible = true;
}
希望这会有所帮助。