例如,当用户更改背景颜色时,会修改Settings.settings文件。它有效。
但是,用户单击“确定”后,应用程序不会更改其背景颜色。 它仅在我再次关闭并构建应用程序时才有效。
如何在按钮点击时重新加载表单或用户控件? (尝试使用.Refresh(),但它不起作用)
private void refreshSettings()
{
this.BackColor = Properties.Settings.Default.bgdColor;
this.Font = Properties.Settings.Default.fontType;
this.ForeColor = Properties.Settings.Default.fontColor;
}
private void Settings_Load(object sender, EventArgs e)
{
refreshSettings();
bgdColorLBL.BackColor = Properties.Settings.Default.bgdColor;
fontColorLBL.BackColor = Properties.Settings.Default.fontColor;
fontTypeLBL.Font = Properties.Settings.Default.fontType;
fontTypeLBL.Text = Properties.Settings.Default.fontType.Name;
}
private void okBTN_Click(object sender, EventArgs e)
{
LeagueUC lg = new LeagueUC();
InitializeComponent();
this.Close();
}
private void bgdColorLBL_Click(object sender, EventArgs e)
{
ColorDialog dlg = new ColorDialog();
dlg.Color = Properties.Settings.Default.bgdColor;
if (dlg.ShowDialog() == DialogResult.OK)
{
Properties.Settings.Default.bgdColor = dlg.Color;
Properties.Settings.Default.Save();
bgdColorLBL.BackColor = dlg.Color;
}
}
答案 0 :(得分:1)
运行您从设置文件启动时设置控件属性的任何代码。
e.g。
private void bgdColorLBL_Click(object sender, EventArgs e)
{
ColorDialog dlg = new ColorDialog();
dlg.Color = Properties.Settings.Default.bgdColor;
if (dlg.ShowDialog() == DialogResult.OK)
{
Properties.Settings.Default.bgdColor = dlg.Color;
Properties.Settings.Default.Save();
Settings_Load(null, null);
}
}
答案 1 :(得分:0)
在按钮单击事件上,只需从设置文件中加载背景颜色。类似的东西:
this.BackColor = Properties.Settings.Default.Color;
答案 2 :(得分:0)
您可以为其创建binding。通过一些小技巧,绑定甚至可以允许立即切换界面语言。
答案 3 :(得分:0)
试试这个,这会改变您从“颜色对话框”中选择的颜色的表单背景颜色:
private void button2_Click(object sender, EventArgs e)
{
ColorDialog dlg = new ColorDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{
this.BackColor = System.Drawing.Color.FromName(dlg.Color.Name);
}
}