this.Close();
new System.Threading.Thread(() => {
Application.Run(new Form2());
}).Start();
// 方案 A:隱藏舊視窗 (推薦)
Form2 frm2 = new Form2();
frm2.FormClosed += (s, e) => this.Show(); // 關閉新視窗回來
frm2.Show();
this.Hide();
// 方案 B:單一主視窗 + 切換 UserControl (最佳架構)
public void SwitchToForm2() {
panelMain.Controls.Clear();
var uc = new UserControlForm2(); // 將 Form2 內容移入 UserControl
uc.Dock = DockStyle.Fill;
panelMain.Controls.Add(uc);
}
**新執行緒 `Application.Run` 切換主視窗是反模式**,會導致進程退出異常、資源洩漏、執行緒安全噩夢。**請用 `Hide/Show` 或單一主視窗 `Panel` 切換 `UserControl`**。