我的問題是,當我使用標題欄上的關閉框關閉窗體時,應用程序不終止。應用程序不終止
當我在我想退出應用程序,而不進行I/O操作的一些I/O操作的中間。
實際上,它好像程序已關閉,但任務管理器的進程列表顯示它不是。
我如何通過強制取消I/O操作?
我的問題是,當我使用標題欄上的關閉框關閉窗體時,應用程序不終止。應用程序不終止
當我在我想退出應用程序,而不進行I/O操作的一些I/O操作的中間。
實際上,它好像程序已關閉,但任務管理器的進程列表顯示它不是。
我如何通過強制取消I/O操作?
封閉窗體只會使窗體不可見。但是,如果主線程或其他線程中有任何進程正在運行,則該應用程序不會終止。您必須確保所有資源已關閉或處置完畢。
你打算如何關閉你的應用程序?
Application.Exit只是要求通過消息循環關閉。它可能不會發生。
最好的方法是關閉您可能正在執行的任何非後臺線程。不這樣做會讓你的程序繼續運行。
您還可以嘗試Environment.Exit或Environment.FailFast。這就像殺死你的過程。
如果您的應用程序中有任何無限循環運行,使您的線程在啓動它們之前在後臺線程中運行,那麼它們將在應用程序退出時自動關閉。
嘗試做這樣:
Thread somethread = new Thread(...);
someThread.IsBackground = true;
someThread.Start(...);
我建議你如下:
與其他人(2或3)一起使用的第一點應該足夠了。 祝你好運!
強制您可以在表單關閉事件中終止進程。 –
嘗試Application.Exit();上形成閉合事件 – Prashant
什麼是你的I/O操作的代碼是什麼樣子? –