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