2010-11-25 247 views
17

通常,我將僅使用Environment.Exit(code)退出應用程序。 (通常通過點擊按鈕)但我想知道它是退出的正確方式,即釋放內存等等等等。如何正常退出應用程序

回答

22

只是Close()所有活動/現有表單和應用程序都應該退出。

+0

確定。謝謝。 `close()`會確保內存釋放正確嗎? – ghostdog74 2010-11-25 10:45:45

+0

垃圾收集應該踢入並處理所有事情。 – Mario 2010-11-25 11:05:43

+0

當一個進程結束時NT內核會清理乾淨,但對於.net,每個NT進程有很多.net進程,所以誰知道會發生什麼。在.net中釋放資源之前,我看到了很長的延遲。當他們即將使用本機應用程序時,或者每個本機進程使用一個.net時。 – 2016-12-12 18:17:39

20

Application.Exit()也會這樣做:如果您想呈現保存更改對話框,則您擁有的任何表單仍可以取消此操作。

1

在控制檯應用程序中,只需從主程序返回一個UI應用程序Close()中的所有活動窗體。

來自被管理對象的內存將由.NET Framework處理,您不需要關心這一點。

如果您使用實現IDisposable的類(例如數據庫連接),則當您不再需要它們時(首選方法:a using-Statement),應該在它們上調用Dispose()。

如果您在全球範圍內使用此類資源(如您的表單中的私有成員),您的表單應實現IDisposable模式以在Close()調用上釋放這些資源。詳情請參閱this article

-1
me.close() 

你應該試試這個。 我想它會工作。

11
Application.Exit 
    End 

將像魅力一樣工作當「Application.Exit」關閉所有窗體和調用時,「END」立即終止進一步的執行。

最佳regrads,提示用戶時

0

下面的代碼在Visual Basic中用來退出應用程序:

Dim D As String 

D = MsgBox("Are you sure you want to exit?", vbYesNo+vbQuestion,"Thanking You") 

If D = vbYes Then 
Unload Me 
Else 
Exit Sub 
End If 
End 
End Sub