我在c#中的windows表单有点问题。 让我们保持简单:我有一个设置默认背景颜色和前景色的方法。我有多种形式,我想从中调用它,我想只有一种方法(保留添加默认背景图像等的可能性......)。我该怎么办?
这是基本代码:
public void LoadGraphics() {
this.BackColor = Graphics.GraphicsSettings.Default.BackgroundColor;
this.ForeColor = Graphics.GraphicsSettings.Default.ForegroundColor;
this.BackgroundImage = new Bitmap(Graphics.GraphicsResources.bg_small);
}
答案 0 :(得分:6)
创建一个实现该方法的父类,并从该父类派生您的Forms:
class Foo : Form {
void LoadGraphics() {
this.BackColor = Graphics.GraphicsSettings.Default.BackgroundColor;
this.ForeColor = Graphics.GraphicsSettings.Default.ForegroundColor;
this.BackgroundImage = new Bitmap(Graphics.GraphicsResources.bg_small);
}
}
class YourForm : Foo {
void someFunction() {
LoadGraphics();
}
}
答案 1 :(得分:1)
您可以创建一个静态类,其中包含要在表单之间共享的代码:
static class Utils
{
public static void ChangeColor(Form form, Color color)
{
form.BackColor = color;
}
}
然后你可以从任何其他形式调用这个函数:
Utils.ChangeColor(this, Color.Red);