在學(xué)習(xí)WPF時自己弄了幾個小工具,今天在使用時無意中發(fā)現(xiàn)點擊右上角關(guān)閉按鈕后,程序進(jìn)程并沒有被結(jié)束。網(wǎng)上也沒有這個問題的答案(也許這對別人來說是小Case吧),后來發(fā)現(xiàn)這個問題也不太難,但還是寫出來讓新手有個參照。
成都網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團(tuán)成都定制網(wǎng)站等服務(wù)項目。核心團(tuán)隊均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗,服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:成都封陽臺等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗,同時也獲得了客戶的一致稱贊!
我最初的解決方法是在Windows窗體的Closed事件上作文章。給它一個方法,方法的代碼也很簡單:
private void Window_Closed(object sender, EventArgs e) { Application.Current.Shutdown(); }
通過這個方法,窗體在關(guān)閉時就會調(diào)用Shutdown()方法結(jié)束程序。
后來覺得這個方法不好、用起來不自在,于是想到了另一個方法:重寫Windows類的OnClosed()方法:
protected override void OnClosed(EventArgs e) { Application.Current.Shutdown(); }
現(xiàn)在看起來舒服了。
還有一種方法:禁用右上角的紅叉。這個方法是可行的,但由于WPF本身不可以直接禁用,實現(xiàn)起來很麻煩,而且給用戶的體驗也不太好(Windows用習(xí)慣了),所以在這里并不推薦。