private void button1_Click(object sender, EventArgs e) {
掛號界面 frm = new 掛號界面();
frm.Show(); // 非模態顯示新視窗
this.Visible = false; // 隱藏當前視窗(保留在記憶體)
}
| 需求 | 方法 | 說明 |
|---|---|---|
| 新視窗關閉時恢復主視窗 | frm.FormClosed += (s,args) => this.Visible = true; | 訂閱關閉事件 |
| 強制用戶完成新視窗操作 | frm.ShowDialog(); (模態) | 阻塞主視窗,無需手動隱藏 |
| 彈出視窗為單例 | 靜態實例檢查或 Application.OpenForms | 防止重複打開 |
this.Hide() 而非 this.Visible = false:效果相同,但 Hide() 語義更清晰。using 或確保 Dispose()。