如何确定我的表格 window 是否仍然有效?
How can I determine if my Forms window is still valid?
我有一个 window 从工作线程接收异步事件。有时这些事件在 window 关闭后出现,当我调用 Invoke() 处理事件时,我得到一个异常。
我如何进行测试以确保 window 仍然正常。或者让所有事件在关闭生命周期的某个地方被处理?
谢谢 - 戴夫
您可以在调用调用之前检查IsHandleCreated
,以确保表单已创建且未被销毁:
if (this.IsHandleCreated)
{
//this.Invoke ...
}
属性 returns false
如果表单句柄仍未创建或关闭表单后已销毁。它还可以防止在显示表单之前和创建句柄之前调用 invoke 的错误。
如果出于任何原因您只想关闭表单,您可以查看 IsDisposed
属性。
我有一个 window 从工作线程接收异步事件。有时这些事件在 window 关闭后出现,当我调用 Invoke() 处理事件时,我得到一个异常。
我如何进行测试以确保 window 仍然正常。或者让所有事件在关闭生命周期的某个地方被处理?
谢谢 - 戴夫
您可以在调用调用之前检查IsHandleCreated
,以确保表单已创建且未被销毁:
if (this.IsHandleCreated)
{
//this.Invoke ...
}
属性 returns false
如果表单句柄仍未创建或关闭表单后已销毁。它还可以防止在显示表单之前和创建句柄之前调用 invoke 的错误。
如果出于任何原因您只想关闭表单,您可以查看 IsDisposed
属性。