我的WinForms應用程序中發生了一些奇怪的事情(並且通常是我的錯)。調用PerformClick取消關閉事件
我有一個FormClosing事件,它將檢查是否有任何更改已在未保存的窗體上進行。
如果用戶確認保存更改,我會調用保存按鈕的單擊事件。但是,即使我刪除了OnClick事件中的所有邏輯,表單仍保持打開狀態,並且在關閉之前必須再次關閉它。
如果我跳過這一行buttonSave.PerformClick();
,表格正確關閉。
爲什麼要進入點擊事件,取消關閉?任何工作?
private void MyForm_FormClosing(object sender, FormClosingEventArgs e)
{
//Check if there changes were made on the form
//Prompt user to save
if (confirmSave)
buttonSave.PerformClick();
}
private void buttonSave_Click(object sender, EventArgs e)
{
//Everything in here commented out.
}
爲什麼不直接調用事件而不是使用PerformClick? – kevintjuh93
我會建議你,你把你的保存邏輯從事件方法中刪除,並創建一個新的方法,然後可以從多個方法調用。 – MaticDiba
這與我所說的一樣:P – kevintjuh93