例如,當用戶改變背景顏色時,Settings.settings文件被修改。它的工作原理。C#重新加載表單
但是,用戶單擊確定後,應用程序不會更改它的背景色。 只有當我再次關閉並構建應用程序時纔有效。
如何在按鈕單擊時重新加載我的表單或用戶控件? (試圖與.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;
}
}
我們看一些代碼。也許它只是讀取設置並將顏色應用於實際工作的表單加載的實現。 – mortb
如果你需要重繪你有沒有嘗試'this.Invalidate()'? – Brad
嘗試調用InitializeComponent() –