C# 在C中设置所有对象的背景色#

C# 在C中设置所有对象的背景色#,c#,background-color,C#,Background Color,是否有一种简单的方法来设置窗体上所有对象的背景色?当一切都在运行时,我试图通过点击事件来完成。所以会有不止一个按钮。我希望避免的是: changeColor_Click { label1.BackColor = Color.Black; label2.BackColor = Color.Black; label3.BackColor = Color.Black; etc... } 我要找的是: changeColor_Click { all.BackColor = Color

是否有一种简单的方法来设置窗体上所有对象的背景色?当一切都在运行时,我试图通过点击事件来完成。所以会有不止一个按钮。我希望避免的是:

changeColor_Click
{
  label1.BackColor = Color.Black;
  label2.BackColor = Color.Black;
  label3.BackColor = Color.Black;
  etc...
}
我要找的是:

changeColor_Click
{
 all.BackColor = Color.Black;
}
请记住,从GUI开始,每个标签都是不同的颜色背景:

标签1=蓝色

标签2=红色

标签3=黄色

我有很多不同的对象,我正试图找到一种在主题之间切换的好方法。关于如何实现这一点,您有什么建议吗?

您必须使用

请原谅我的糟糕的c#,已经好几年没用了,你明白了

ChangeColor_Click
{
   ChangeAllBG(this);
}

void ChangeAllBG(Control c)
{
    c.BackColor=Color.Teal;
    foreach (Control ctl in c.Controls)
        ChangeAllBG(ctl);
}

在表单上调用此方法,如下所示:
setbackcolorcursive(this,Color.Black)

是否确实要为表单中的所有对象设置背景色,还是仅为其中的一部分设置背景色?
void SetBackColorRecursive(Control control, Color color)
{
    control.BackColor = color;

    foreach (Control c in control.Controls)
        SetBackColorRecursive(c, color);
}