[英]Set the background color of all objects in C#
有没有一种简单的方法来设置表单上所有对象的背景颜色? 我试图通过一切运行时的点击事件来做到这一点。 所以会有一个按钮。 我想避免的是:
changeColor_Click
{
label1.BackColor = Color.Black;
label2.BackColor = Color.Black;
label3.BackColor = Color.Black;
etc...
}
我在找什么:
changeColor_Click
{
all.BackColor = Color.Black;
}
请记住,每个标签都是在GUI上启动的不同颜色背景:
label1 =蓝色
label2 =红色
label3 =黄色
我有很多不同的对象,我试图找到一个在主题之间切换的好方法。 有关如何实现这一目标的任何建议?
你必须使用递归 。
请原谅我糟糕的c#,多年没用过它,你明白了......
ChangeColor_Click
{
ChangeAllBG(this);
}
void ChangeAllBG(Control c)
{
c.BackColor=Color.Teal;
foreach (Control ctl in c.Controls)
ChangeAllBG(ctl);
}
void SetBackColorRecursive(Control control, Color color)
{
control.BackColor = color;
foreach (Control c in control.Controls)
SetBackColorRecursive(c, color);
}
在您的窗体上调用此方法,如下所示: SetBackColorRecursive(this, Color.Black);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.