引用:
msdn和從網上查資料才得知,dispose()方法,雖然能釋放當前窗體的資源,卻不能強制結束迴圈,
要想強制突出當前程式要用:system.environment.exit(int exitcode)方法;該方法:終止當前程序並為基礎作業系統提供指定的退出**。
如下則問題解決:
private void frmfiledisposal_closed(object sender, system.eventargs e)
或者把它放到事件裡:
while (messagebox.show("退出當前窗體?", "", messageboxbuttons.yesno) == dialogresult.no)
}system.environment.exit(system.environment.exitcode);
不過以上方法,都是強制直接退出了整個程式,不只是關閉子窗體。可能還會引發某些問題,
我感覺最好方法的就是,在子窗體的closing事件中,寫迴圈退出條件,這樣就可以避免某些未知的錯誤,而且可以只關閉子窗體,並釋放子窗體占用的資源.
在 windows(win32 或 .net)中關閉應用程式的正確方式是關閉它的主應用程式視窗(例如 form.close)。主訊息幫浦結束後依然存在的任何視窗都需要手動關閉。在應用程式退出之前通過呼叫 form.close 或 form.dispose 來關閉視窗是清除視窗的良好做法,但這需要您有意識地去做。我們需要記住,.net framework 的 onclosing() 是 win32 的託管版本的 wm_close,而非 wm_destroy。
C 多執行緒強制退出程式
最近在學習多執行緒程式的開發,但是啟動了多個執行緒的程式在關閉的時候卻出現了問題,如果程式退出的時候不關閉執行緒,那麼執行緒就會一直的存在,但是大多啟動的執行緒都是區域性變數,不能一一的關閉,如果呼叫thread.currentthread.abort 方法關閉主線程的話,就會出現threadabo...
C 多執行緒強制退出程式
最近在學習多執行緒程式的開發,但是啟動了多個執行緒的程式在關閉的時候卻出現了問題,如果程式退出的時候不關閉執行緒,那麼執行緒就會一直的存在,但是大多啟動的執行緒都是區域性變數,不能一一的關閉,如果呼叫thread.currentthread.abort 方法關閉主線程的話,就會出現threadabo...
C 多執行緒強制退出程式
多執行緒程式的開發,啟動了多個執行緒的程式在關閉的時候卻出現了問題,如果程式退出的時候不關閉執行緒,那麼執行緒就會一直的存在,但是大多啟動的執行緒都是區域性 變數,不能一一的關閉,如果呼叫thread.currentthread.abort 方法關閉主線程的話,就會出現 threadabortexc...