【发布时间】:2015-11-10 11:26:47
【问题描述】:
我有一个 winforms 应用程序,在我的应用程序中,我创建了一个自定义表单。此自定义 from 在右上角具有默认的关闭、最小化和最大化按钮。如果我使用默认的红色 x 按钮关闭表单,它会正常关闭,没有问题。但是,如果我尝试通过在表单上调用 .Close() 来关闭表单,则会引发未处理的 InvalidOperationException 异常。
调用 .Close() 和单击该按钮有什么区别?为什么点击按钮可以正常工作,但调用 .Close() 会抛出异常?
【问题讨论】:
-
当您收到异常时,您可以轻松查看堆栈跟踪。此信息对于了解导致异常的原因至关重要。您可以在此处添加该信息
-
@Steve 没有堆栈跟踪。应用程序不会崩溃或抛出异常。我知道它正在发生的唯一方法是因为输出显示以下行:“System.Windows.Forms.dll 中发生了‘System.InvalidOperationException’类型的第一次机会异常”
-
@Steve,我知道这是因为表单没有关闭。
-
@TylerJones 那时您可能正在抑制异常。有没有可以在测试期间注释掉的 try/catch 子句?可能需要显示您的一些代码...
-
@NathanA 不,任何有问题的代码周围都没有尝试/捕获。