我有像这样继承Form Class
的BaseForm类 public partial class BaseForm : Form
{
protected override void OnLoad(EventArgs e)
{
Color colBackColor =Properties.Settings.Default.FormsBackgroundColor;
BackColor = colBackColor;
}
}
像这样继承BaseForm类的和MainForm类。
public partial class MainForm : BaseForm
{
private void button1_Click_1(object sender, EventArgs e)
{
ColorDialog colorDlg = new ColorDialog();
if (colorDlg.ShowDialog() == DialogResult.OK)
{
Properties.Settings.Default.FormsBackgroundColor= colorDlg.Color;
Properties.Settings.Default.Save();
this.Refresh();
this.Invalidate();
}
}
}
当我点击MainForm上的button1并从颜色对话框中选择颜色时。 MainForm的背景颜色不会改变。我做错了什么?
重新运行应用程序时,Btw颜色会发生变化。
答案 0 :(得分:3)
OnLoad
事件仅在表单加载时触发,单击按钮时不会触发。因此,您还需要在button1_Click_1
中更改BackColor格式。
if (colorDlg.ShowDialog() == DialogResult.OK)
{
Properties.Settings.Default.FormsBackgroundColor= colorDlg.Color;
Properties.Settings.Default.Save();
this.BackColor = colorDlg.Color;
}