当前位置:  开发笔记 > 编程语言 > 正文

Application.Run抛出ArgumentException未处理

如何解决《Application.Run抛出ArgumentException未处理》经验,为你挑选了1个好方法。

我有一个条件,我需要关闭应用程序,所以我设置一个certian标志时调用this.Dispose().

起初我认为在调用this.Dispose()之后调用函数是一个问题,因此我将代码移动到最后调用的东西,但我仍然得到"ArgumentException未处理""参数无效".在Application.Run(new myApp();行.

我究竟做错了什么?我一路上都错过了什么吗?或者可能有更好的方法来关闭应用程序?



1> Mehrdad Afsh..:

尝试使用Application.Exit()退出应用程序.

使用时Application.Run(new MyForm());,使用表单对象作为主窗体在线程上创建消息循环.它尝试将来自应用程序的Win32消息传递给各自的对象.但是,当您调用Dispose()表单对象时,尚未退出消息循环.当它尝试将下一条消息传递给您的表单对象时,它会失败,因为它已经处理并抛出异常.您应该要求关闭表单(通过调用Close表单),然后要求表单处理事件,如果已完成,则在之后退出消息循环.另一种方式(更直接的方式)是通过调用来关闭线程上的消息循环,Application.Exit()这将导致所有相关的表单被关闭.

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有