首頁 > 後端開發 > C++ > 如何在C#中正確開啟新窗體並關閉目前窗體?

如何在C#中正確開啟新窗體並關閉目前窗體?

Linda Hamilton
發布: 2025-01-06 13:17:39
原創
715 人瀏覽過

How to Properly Open a New Form and Close the Current Form in C#?

如何在C# 中開啟新表單並關閉目前表單

在開發C# 應用程式時,您可能會遇到需要以下情況:從目前表單中的按鈕開啟一個新表單,關閉目前表單,然後將焦點放在新開啟的表單上。以下是實現此目標的方法:

史蒂夫的解決方案

一個常見的方法是使用以下程式碼:

private void Button1_Click(object sender, EventArgs e)
{
    var form2 = new Form2();
    form2.Show();
    this.Close();
}
登入後複製

但是,此解決方案有一個缺陷。當呼叫 this.Close() 時,目前表單和新開啟的表單(form2)都會被釋放。為了防止這種情況,您應該考慮隱藏當前表單而不是關閉它。

已修正的解決方案

要開啟新表單並關閉目前表單,請使用下列指令碼:

private void OnButton1Click(object sender, EventArgs e)
{
    this.Hide();
    var form2 = new Form2();
    form2.Closed += (s, args) => this.Close();
    form2.Show();
}
登入後複製

在此修正方案:

  • this.Hide() 隱藏目前表單。
  • 建立並顯示新的 Form2 實例(form2)。
  • 新增事件處理程序到 form2 的 Closed 事件。此事件處理程序在 form2 關閉時呼叫 this.Close(),確保僅在新表單關閉後才關閉目前表單。

此方法可確保新表單 (Form2) 開啟並聚焦,而目前表單 (Form1) 被隱藏並隨後關閉。

以上是如何在C#中正確開啟新窗體並關閉目前窗體?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板