我正在使用winforms + c#創建一個小項目,我有一個問題,因爲我在項目中使用第二個窗體作爲對話框。當用戶嘗試關閉此功能時,我想向他們提供確認屏幕,以防止在關閉表單時丟失任何數據。這個對話框窗體還將顯示一個「主頁」按鈕,關閉對話框窗體,再次將它們與主窗口對齊。當在屏幕頂部按下Windows X按鈕時,會出現問題,要求我設置「關閉窗體」事件進行管理。然而,這與我現在的代碼如下所示創建一個無限循環。有什麼辦法可以避免這種情況?驗證窗體關閉無限循環
private void frmCreateRoute_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult Safe_to_exit_check = MessageBox.Show("Are you sure you would like to go to the home screen? \n(Any entered data will be lost.)", "", MessageBoxButtons.YesNo);
if (Safe_to_exit_check == DialogResult.Yes)
{
this.Close();
}
}
和簡單的:
private void Home_button_Click(object sender, EventArgs e)
{
this.Close();
}
的home鍵。
感謝
你需要設置'e.Cancel = TRUE;如果用戶選擇不同於任何東西是的 –