我如何从另一个类改变背景颜色达到表单的控件

我试图改变应用程序中所有表单的控件的背景颜色,我创建了一个类,然后创建了一个方法。这是我的代码:我如何从另一个类改变背景颜色达到表单的控件

foreach (Control item in Controls) 

{

if (item is ComboBox)

{

}

else

{

item.BackColor = Color.White;

}

}

BackColor = Color.White;

的问题是,与控制和背景色属性的作品,而不在形式,而是一个类中的问题foreach语句,他们不工作。我怎样才能得到窗体的所有控件,并在这样的代码中从类中更改它们的BackColors?或者你有任何建议作为解决方案?

回答:

我想你的类有一个名为ChangeBackgroundColor的方法,那么你可以简单地将表单引用传递给这个方法作为参数,所以你可以从任何你想要改变你的控件的背景颜色的方式调用这个方法。

public class MyClass 

{

public void ChangeBackgroundColor(Form f)

{

foreach (Control item in f.Controls)

{

if (item is ComboBox)

{

}

else

{

item.BackColor = Color.White;

}

}

f.BackColor = Color.White;

}

}

然后里面的你的形式之一调用这个类的方法

public class Form1:Form 

{

public Form1()

{

InitializeComponents();

MyClass c = new MyClass();

c.ChangeBackgroundColor(this);

}

}

以上是 我如何从另一个类改变背景颜色达到表单的控件 的全部内容, 来源链接: utcz.com/qa/257642.html

回到顶部