2010-11-25 140 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