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

时间:2015-11-01 21:39:39

标签: c# winforms label connected-components

我有一个标签列表,如图The labels' Image所示,它通过拖放添加到表单中,并且当我想要添加条件来更改颜色时,它们从Label1到Label160顺序命名在嵌套循环中的白色标签(如图中可见)检查每个标签左侧和顶部的标签并相应地更改颜色(连接组件算法)它给我一个错误并说“名称.. ..在当前上下文中不存在“或当我使用Label [i]时它说”System.windows.form.Label是一个类型但是用作变量“反正我无法在标签上工作一个循环。 有什么办法解决这个问题? 感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您可以使用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;
}