1
我有一個訂閱FormClosing事件的WinForm。當我點擊X時,事件被觸發。但是,在WinForm上執行Close()時,事件不會被觸發。這個WinForm沒有被顯示過。這可能是原因嗎?爲什麼WinForm的FormClosing事件不會被觸發是否有原因?
事件處理程序在WinForm的構造函數中訂閱(不在Onload中),因此它們被註冊。
我有一個訂閱FormClosing事件的WinForm。當我點擊X時,事件被觸發。但是,在WinForm上執行Close()時,事件不會被觸發。這個WinForm沒有被顯示過。這可能是原因嗎?爲什麼WinForm的FormClosing事件不會被觸發是否有原因?
事件處理程序在WinForm的構造函數中訂閱(不在Onload中),因此它們被註冊。
這是通過設計,FormClosing只會觸發如果您實際上使窗體可見。或者在技術上更加正確的時候,創建本地Windows窗口。如果你從來沒有調用Show(),那麼Close()根本就不做任何事情。您只創建類對象,FormClosing不能代替析構函數。