在Windows窗体中正确使用IsDisposed

时间:2010-01-21 23:58:24

标签: c# winforms

我有一个小型的win表单应用程序,它由表单和系统托盘图标组成。

当用户从系统托盘关闭应用程序时,我得到ObjectDisposedException,因为某些控件(任务图标)仍然尝试访问主窗体窗体。

我已经尝试在if(!this.IsDisposed)包装器中包装访问systray的代码,但是总是会绕过对此的检查。

我错过了我应该在这里做的事吗?这看起来非常简单。

感谢。

1 个答案:

答案 0 :(得分:1)

您可以控制用户关闭应用时会发生什么。以正确的顺序关闭事物(基于哪些表单/控件引用其他表单/控件),您可以避免此问题,而不会在IsDisposed检查中进行黑客攻击。