我有一个窗口,该窗口从工作线程接收异步事件。有时,这些事件在关闭窗口后出现,当我致电Invoke((处理事件时,我会得到例外。
如何测试以确保窗口仍然不错。或导致所有事件在关闭生命周期中的某个地方进行处理?
谢谢-Dave
您可以在调用调用之前检查IsHandleCreated
,以确保创建表单并且不会被破坏:
if (this.IsHandleCreated)
{
//this.Invoke ...
}
属性将返回false
,如果未创建表单句柄或关闭表单后它已销毁。它还可以防止在显示表单之前和创建句柄之前调用调用的错误。
如果出于任何原因您只是关心关闭表格,则可以检查IsDisposed
属性。