.NET End vs Form.Close()与Application.Exit关闭应用程序的清除方式

有时候,当我调试我的程序时使用Form.close(),虽然表单被关闭,但是应用程序仍在运行.使用msgbox功能时,我注意到这种情况.

我没有线程或定时器运行,所以关闭一个.NET应用程序最好的方法是什么?我正在使用VB.NET.

谢谢

你描述的情况相当腥.无论何时关闭程序的启动表单,整个应用程序都应自动退出,包括关闭所有其他打开的表单.确保您正在关闭正确的表单,您不应该遇到任何问题.

另一种可能性是您已经更改了项目(使用其属性页),直到所有打开的窗口都已关闭为止.在此模式下,您的应用程序将不会退出,直到最后一次打开的表单已关闭.如果您选择了此设置,则必须确保您在应用过程中调用所显示的所有表单的Close方法,而不仅仅是启动/主窗体.

第一个设置是默认的原因,如果您更改了它,您可能想要修复它.
它是迄今为止最正常的应用程序的最直观的模型,它可以准确地阻止您所描述的情况.为了正常工作,请确保您将主窗体指定为“启动窗体”(而不是启动屏幕或登录窗体).

我正在谈论的设置在这里突出显示:

但主要是注意,您不应该在正确设计的应用程序中调用Application.Exit.如果你发现自己必须这样做才能使程序完全关闭,那么你做错了事情.只要你有一个很好的理由,这本身就不是一个糟糕的做法.另外两个答案没有解释,因此我觉得是不完整的.

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...