有誰知道如何找出wpf窗口是否被「x」按鈕關閉?如何知道窗口是否被「x」按鈕關閉?
7
A
回答
11
最簡單的方法(在我看來)是存儲一個布爾值,指示用戶是否通過另一種方法關閉了表單。
然後在OnClosing事件中,檢查布爾值是否爲false(表示單擊了x按鈕)。
唯一的問題是你已經設置了自己的布爾值。這可能取決於用戶可以關閉表單的其他方式。
編輯:我應該指出,這是高度依賴於窗體可以被關閉的其他方式。如果你有很多方法通過調用Window.Close()來關閉這個窗口,我會考慮創建一個名爲UserClose()的方法,它爲你做布爾設置。
public void UserClose()
{
NonXClose = true;
this.Close();
}
這將允許外部代碼關閉窗口,並設置布爾值。
3
所不同的是以下內容:
window.close()的導致WM_CLOSE被髮送到窗口。
Alt + F4和X按鈕導致WM_SYSCOMMAND消息與SC_CLOSE類型。您可以決定是否希望進一步路由此消息(並最終導致WM_CLOSE)。
相關問題
- 1. 我如何知道NSWindow是使用關閉按鈕關閉的?
- 2. 主WPF窗口如何知道次WPF窗口何時關閉
- 3. javascript:父窗口如何知道其子窗口關閉?
- 4. 如何禁用Windows上的Perl/Tk窗口關閉('X')按鈕
- 5. 如何知道JDialog是否關閉?
- 6. 如何知道流是否關閉?
- 7. 如何知道按鈕是否被按下或釋放?
- 8. 如何檢查窗口按鈕是否被按下C++
- 9. 可可如何知道文件是否被編輯/關閉
- 10. 如何知道一個窗口是否被最小化?
- 11. 如何知道Xul窗口是否被最小化?
- 12. iOS如何知道html5按鈕是否被點擊加載UIWebView
- 13. Errorprovider在使用窗口關閉按鈕(X)時顯示錯誤
- 14. 在dojo對話框中缺少[X]按鈕以關閉窗口
- 15. 如何知道窗口是子窗口還是父窗口?
- 16. 窗口關閉按鈕劫持雪豹
- 17. 關閉按鈕上的窗口單擊
- 18. 關閉窗口按鈕單擊
- 19. 通過X按鈕和onload窗口事件關閉彈出窗口
- 20. 如何關閉未知的子窗口?
- 21. 如何通過按下按鈕來關閉Tkinter窗口?
- 22. 子窗口關閉時通知窗口
- 23. 子WebBrowser窗口上的「關閉」按鈕關閉父窗口(.NET,winforms)
- 24. 有沒有辦法讓窗口關閉按鈕(X)在實際關閉窗口之前調用方法?
- 25. Windows窗體:如何隱藏關閉(x)按鈕?
- 26. 如何按ESC鍵關閉boxy窗口?
- 27. 使窗口[X]按鈕關閉,而不是在Windows上最小化Moblie
- 28. 哪個窗口字體顯示窗口關閉按鈕?
- 29. silverlight子窗口樣式可拆窗口關閉按鈕
- 30. Java Swings:是否有任何規定向彈出窗口添加關閉按鈕?
你能澄清嗎?您是否想區分按下「X」按鈕和其他關閉窗口的方式(即鍵盤)?或者關閉窗戶的任何方法? – 2009-12-08 12:06:44
區分按下「X」按鈕和關閉窗口的其他方式(即鍵盤) – Vytas999 2009-12-08 13:26:05
我認爲如果您解釋爲什麼要這樣做會有所幫助。對用戶來說,它是否由X或菜單項關閉應該沒有關係。也許那麼我們可以幫助你實現你真正想做的事情 – 2009-12-08 14:50:26