在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;"

在c#中动态调用标签

这里有一个动态解决方案:

foreach (var label in Controls.OfType<Label>())
    label.Visible = (label.Name == "label" + i);

注意:

  1. 这将隐藏所有未命名为CCD_ 6的标签。如果表单/容器上有任何其他标签,您可能需要额外的过滤逻辑

  2. 如果标签是表单的直接后代,则上面的代码有效。如果不是这样(例如,标签是名为panel1的面板的子级),则需要将Controls替换为panel1.Controls

标签1.Visible=(i==1);//如果i不为1,则标签1不可见