Application.Exit()不会处理使用过的dll

时间:2011-04-08 07:18:59

标签: c# windows-ce

在Windows CE应用程序上,我正在使用Application.Exit()来关闭应用程序,但是当我尝试重新运行应用程序时,我使用的其中一个dll没有处理并导致我出现问题。

这是因为Application.Exit()没有处理它或者我还在某处使用它吗?

关闭申请的正确方法是什么?

谢谢

编辑:确定提供更多详细信息,这是我的方案:

主页 - >让我们称之为A

空闲页面 - >让我们称之为B

关闭应用的网页 - >让我们称之为C

在app.start上,A打开B,B在线程的帮助下打开C,这就是我使用application.Exit()的原因。也许我应该去parent.parent.parent并在主窗体上调用close()? :)

2 个答案:

答案 0 :(得分:2)

通常关闭主窗体是选择离开应用程序的方式。 Application.Exit在历史上是一种不太受欢迎的方式,因为半暗示更严重的关闭,因为一些关闭事件没有被触发(例如mainform.close等)

答案 1 :(得分:2)

在典型的应用程序中,Application.Exit调用只会导致主线程关闭。后台线程,特别是非ui线程,不会通过此调用终止。如果有任何正在运行,则该过程将继续。

这很可能是您在调用Application.Exit后仍然看到资源被保留的原因。快速验证的一种方法是在Application.Exit运行后查看进程是否仍在运行。如果是这样,这几乎肯定是你的问题。