我們在寫winform程序時,經常會使用在一個窗口中通過點擊產生另外一個窗口,原來的窗口通過this.hide()代碼而隱藏。緊接着可能我們直接關閉第二層窗口來結束程序,但是調試過程中會發現我們的程序並沒有正常關閉,而是到了后台運行,這樣的程序如果做出軟件來使用,就會造成內存資源大量占用而產生浪費,下面的代碼就是解決這一問題:
/// <summary> /// 關閉程序 /// </summary> protected override void WndProc(ref Message m) { const int WM_SYSCOMMAND = 0x0112; const int SC_CLOSE = 0xF060; if (m.Msg == WM_SYSCOMMAND && (int)m.WParam == SC_CLOSE) { Application.Exit(); } base.WndProc(ref m); }
如何使用上面的代碼:在哪個窗口中想要實現關閉這一窗口就結束整個程序,就將這個函數放在該窗口的cs程序中,不需要做其他任何操作,也不需要從其他地方引用。
是不是很神奇!!!