在Windows CE应用程序上,我正在使用Application.Exit()来关闭应用程序,但是当我尝试重新运行应用程序时,我使用的其中一个dll没有处理并导致我出现问题。
这是因为Application.Exit()没有处理它或者我还在某处使用它吗?
关闭申请的正确方法是什么?
谢谢
编辑:确定提供更多详细信息,这是我的方案:
主页 - >让我们称之为A
空闲页面 - >让我们称之为B
关闭应用的网页 - >让我们称之为C
在app.start上,A打开B,B在线程的帮助下打开C,这就是我使用application.Exit()的原因。也许我应该去parent.parent.parent并在主窗体上调用close()? :)
答案 0 :(得分:2)
通常关闭主窗体是选择离开应用程序的方式。 Application.Exit在历史上是一种不太受欢迎的方式,因为半暗示更严重的关闭,因为一些关闭事件没有被触发(例如mainform.close等)
答案 1 :(得分:2)
在典型的应用程序中,Application.Exit
调用只会导致主线程关闭。后台线程,特别是非ui线程,不会通过此调用终止。如果有任何正在运行,则该过程将继续。
这很可能是您在调用Application.Exit
后仍然看到资源被保留的原因。快速验证的一种方法是在Application.Exit
运行后查看进程是否仍在运行。如果是这样,这几乎肯定是你的问题。