如何编辑在循环中添加拖放的标签?

How to edit labels added drag and drop in a loop?

我有一个标签列表,如图所示,当我想改变条件时,它们是通过拖放添加到表单中的,它们按顺序从 Label1 到 Label160 命名嵌套循环中白色标签的颜色(如图所示)检查每个标签左侧和顶部的标签并相应地更改颜色(连通分量算法)它给了我一个错误并说 "the name .... does not exist in the current context" 或者当我使用 Label[i] 时它说 "System.windows.form.Label is a type but is used as a variable" 无论如何我无法在循环中处理标签。 有什么办法可以解决这个问题? 感谢您的帮助

您可以使用 Controls 集合来访问容器的控件。

例如,如果您将标签放在表单上,​​您可以使用(不要忘记添加 using System.Linq;):

foreach(var label in this.Controls.OfType<Label>())
{
    //Get or Set properties of label
    //label.BackColor == Color.White;
}

或者如果你确定所有的标签都是以Label1到Label160命名的,你可以使用:

for (int i = 1; i <=160; i++)
{
    var label = this.Controls[string.Format("Label{0}", i)];
    //Get or Set properties of label
    //label.BackColor == Color.White;
}