gpt4 book ai didi

c# - 更改winform应用程序中所有窗体的背景颜色

转载 作者:行者123 更新时间:2023-11-30 22:00:26 25 4
gpt4 key购买 nike

我有这样的继承 Form 类的 BaseForm 类

 public partial class BaseForm : Form
{
protected override void OnLoad(EventArgs e)
{
Color colBackColor =Properties.Settings.Default.FormsBackgroundColor;
BackColor = colBackColor;
}
}

还有像这样的MainForm类,继承了BaseForm类。

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 的背景颜色不会改变。我做错了什么?

顺便说一句,当我重新运行应用程序时,颜色会发生变化。

最佳答案

OnLoad 事件仅在加载表单时触发,单击按钮时不会触发。因此,您还需要更改 button1_Click_1 中的表单 BackColor。

if (colorDlg.ShowDialog() == DialogResult.OK)
{
Properties.Settings.Default.FormsBackgroundColor= colorDlg.Color;
Properties.Settings.Default.Save();
this.BackColor = colorDlg.Color;
}

关于c# - 更改winform应用程序中所有窗体的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28614970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com