在c#中动态调用标签
本文关键字:调用 标签 动态 | 更新日期: 2023-09-27 18:25:00
我试图动态调用一个标签,但不知道如何做到。
我想根据整数使标签可见。
因此,如果int i = 1
,那么label1
应该变为可见,如果i = 2
,那么label2
应该变为可视,依此类推。
我该怎么做?
int i = word.indexOf("t");
//This is where I need the label to be dynamically called
我懒散地尝试了("label" + i.ToString()).Visible = true;"
。
这里有一个动态解决方案:
foreach (var label in Controls.OfType<Label>())
label.Visible = (label.Name == "label" + i);
注意:
这将隐藏所有未命名为CCD_ 6的标签。如果表单/容器上有任何其他标签,您可能需要额外的过滤逻辑
如果标签是表单的直接后代,则上面的代码有效。如果不是这样(例如,标签是名为
panel1
的面板的子级),则需要将Controls
替换为panel1.Controls
标签1.Visible=(i==1);//如果i不为1,则标签1不可见