高手帮帮忙!
问题是这样的,主窗体上点击一个按钮,弹出一个窗体B,窗体B先在内存里面进行复杂运算,然后将结果显示出来。
为了不让窗体B卡死,我在窗体B里面另外开了一个线程进行复杂运算,同时提示用户等待!
当子线程正在进行复杂运算时,用户将窗体B关闭了。我在窗体B的关闭事件中将子线程释放,可是会弹出提示框:“正在中止线程:”我不想让用户看到这个提示框应该如何做?我加了异常扑捉不到。

解决方案 »

  1.   

    楼主可以用定时器试试,进行计算用定时器启动,然后重写窗体关闭事件,在事件里调用定时器的关闭事件。
    注:定时器用:System.Threading.Timer
      

  2.   

    线程对象,你设置IsBackground属性为true即可。
      

  3.   

    这个我设了,没有用。IsBackground属性为true应该是整个应用程序关闭,线程自动关闭。
    我现在是关闭子窗体,不是关闭应用程序。根本不起作用。
      

  4.   

    将该线程的IsBackground属性设为true(设置为后台线程,这样在主线程退出时此线程会自动销毁)
      

  5.   

    线程循环中,加个标志判断,或是循环的条件中,判断一下this.IsDisposed,如果释放了,就退出,或是调用线程的Abort方法,或是调用api的TerminateThread