2009-11-18 51 views
1

當我啓動我的應用程序,並按下我的應用程序上的「X」按鈕,或我的退出按鈕部署:me.close它不會完全關閉應用程序。就像實例仍在Visual Studio中運行一樣,或者如果您轉到任務管理器進程,您仍然可以在此處看到它。我怎樣才能完全關閉?VB.NET應用程序沒有完全關閉

回答

5

一種可能性是,除了運行的主線程外,還有一些線程,而這些線程不是後臺線程。一般來說,嘗試調試它:從VS附加到它,並使用暫停按鈕來打破它,並看看有什麼線程,以及他們在做什麼。

+0

我的意思是有一個快速簡單的方法來解決這個問題,通過結束整個過程而不是所有的挖掘? – lab12 2009-11-19 00:10:46

+1

解決這個問題的唯一方法就是找出問題所在。如果你還有一些線程仍在運行,那麼不管這個線程終止進程都會導致數據丟失(例如,如果它正在寫入文件的話)以及其他令人討厭的副作用。也就是說,如果你想要的是_hack_而不是修復,那麼主線程上的'Environment.Exit()'會關閉所有正在運行的線程,然後關閉進程。 – 2009-11-19 00:56:05

4

如果您確實有在應用程序內運行的線程,請將IsBackground屬性設置爲True

Thread.IsBackground Property上MSDN

備註

線程可以是一個後臺線程 或前臺線程。後臺 線程與前臺線程 完全相同,但線程不會阻止從 終止進程的背景 線程。一旦所有屬於進程的前臺線程 已終止 ,公共語言 運行時結束該進程。其餘後臺線程 已停止並且未完成。

2

「End」關鍵字就是您要找的。

將它放在FormClosed事件中。

相關問題