日期:2014-05-17  浏览次数:20804 次

求助,在线程中如何判断当前窗体是否关闭
RT,我在当前窗体定义了一个委托,之后给这个委托 付了 一个查询方法,这个查询方法是 给dgv赋值,在这个窗体上 有一导出的功能,把dgv的数据导出 之后调用 this.invoke(委托,null);
以上过程都是在线程中执行的,但是现在遇到一个问题 就是我点击导出之后 关闭窗体 就会报错,求高手 解答,如何在线程中 知道 这个窗体已经关闭了,如果这个窗体已经关闭 就不执行 this.invoke(委托,null);
这个方法了

------解决方案--------------------
在Application.OpenForms集合里根据条件查询窗体,找不到就不执行
------解决方案--------------------
在这个窗体外的公共类中定义一个全局变量bool IsOpen,窗体打开的时候:IsOpen = true;窗体关闭FormClosing时间中:IsOpen = false;线程中通过判断IsOpen来获取窗体是否关闭。