我是 Windows 表單的初學者,我在打開子表單時遇到了一些問題。
我的應用程式有 2 個按鈕,一個用于主選單,另一個用于選項。
問題是,如果我單擊選項選單中的復選框并離開選項選項卡并回傳,將不再選中該復選框。
這是我的代碼:
private Form CurrentChildForm;
private void OpenChildForm(Form childForm)
{
if(CurrentChildForm != null)
{
CurrentChildForm.Visible = false;
}
CurrentChildForm = childForm;
childForm.TopLevel = false;
childForm.FormBorderStyle = FormBorderStyle.None;
childForm.Dock = DockStyle.Fill;
PanelForForm.Controls.Add(childForm);
PanelForForm.Tag = childForm;
childForm.BringToFront();
childForm.Show();
}
private void MainMenu_Click(object sender, EventArgs e)
{
OpenChildForm(new MenuForm());
}
private void OptionsMenu_Click(object sender, EventArgs e)
{
OpenChildForm(new OptionsForm());
}
uj5u.com熱心網友回復:
通過不同按鈕上的點擊事件,您總是在創建表單的新實體。
一種可能的解決方案是快取您的 optionsMenu 實體,例如通過私有欄位,因為我認為它是 SingleInstance。
private Form CurrentChildForm;
private OptionsForm _opForm;
private void OptionsMenu_Click(object sender, EventArgs e)
{
if (_opForm == null)
{
_opForm = new OptionsForm();
}
OpenChildForm(_opForm);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/406565.html
標籤:
