Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正确使用Windows窗体中显示的ISD_C#_Winforms - Fatal编程技术网

C# 正确使用Windows窗体中显示的ISD

C# 正确使用Windows窗体中显示的ISD,c#,winforms,C#,Winforms,我有一个小型win form应用程序,由一个表单和一个systray图标组成 当用户从systray关闭应用程序时,我会收到ObjectDisposedException,因为某些控件(任务图标)仍在尝试访问主windows窗体 我曾尝试将访问systray的代码包装在if(!this.IsDisposed)包装器中,但始终忽略了对此的检查 我错过了我应该在这里做的事情吗?这似乎很琐碎 谢谢。当用户关闭应用程序时,您可以控制发生的事情。按正确的顺序(基于哪些表单/控件引用了其他表单/控件)关闭,

我有一个小型win form应用程序,由一个表单和一个systray图标组成

当用户从systray关闭应用程序时,我会收到ObjectDisposedException,因为某些控件(任务图标)仍在尝试访问主windows窗体

我曾尝试将访问systray的代码包装在if(!this.IsDisposed)包装器中,但始终忽略了对此的检查

我错过了我应该在这里做的事情吗?这似乎很琐碎


谢谢。

当用户关闭应用程序时,您可以控制发生的事情。按正确的顺序(基于哪些表单/控件引用了其他表单/控件)关闭,您就可以避免此问题,而无需侵入IsDisposed检查。

您可以控制用户关闭应用程序时发生的情况。按照正确的顺序(基于哪些表单/控件引用了其他表单/控件)关闭,您就可以避免此问题,而无需在IsDisposed检查中进行黑客攻击。

您能否为我们展示一些代码,以便我们为您解答此问题?这是指systray控件还是指表单?乍一看,您似乎在错误的控件上检查
IsDisposed
。您能为我们展示一些代码以便我们为您解答这个问题吗?这是指systray控件还是表单?乍一看,你似乎在检查
IsDisposed
上的控件是否有误。感谢你的建议,我再次查看了我的代码,发现我能够在到达该状态之前解决此问题,并适当清理了所有控件。感谢你的建议,我又看了一眼我的代码,发现我能够以防御的方式解决这个问题,并在到达那个状态之前适当地清理我的所有控件。