如何在C#中显示其他名称的标签

时间:2018-11-01 11:32:27

标签: c#

我有标签及其名称,例如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?)

3 个答案:

答案 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;
}

希望这会有所帮助。