【发布时间】:2017-03-24 13:21:21
【问题描述】:
我是初学者,觉得解决方法很简单,但是全网都找不到。
我正在寻找一种将表单和控件的背景颜色设置为某个颜色变量的方法,因此如果我将其值更改为例如绿色,则其背景颜色设置为 mainColor 的每个控件都将变为绿色,并且更改将显示在设计器中。
public class MainForm:Form
{
public static Color mainColor=[some color];
public static Color secColor=[some color];
public Main()
{
InitializeComponent();
BackColor=mainColor;
control1.BackColor=secColor;
control2.BackColor=secColor;
control3.BackColor=secColor;
}
}
通过更改 mainColor 和 secColor 来实现。控件已更改,但不会显示在设计器中。正确的做法是什么?
【问题讨论】:
-
了解设计师的工作方式非常重要。它在设计时创建您的 base 类的实例。如果您在“属性”窗口中更改该基类的属性,那么您可以看到它。但是您的构造函数不在设计时运行。那是行不通的,你必须先编译你的项目,这是一个先有鸡还是先有蛋的问题。 UserControl 可以做到这一点。