我用写的MDI,有一个子窗体,一个窗体内部有两个线程,是互斥的执行任务,当我关闭一个子窗体的时(就是窗体上的X按钮),这时正有一个线程在运行,但是点击了这个X按钮后,当前运行的线程是马上退出了,但是会去运行另一个线程!所以我想在我点击了关闭按钮后,同时把这个窗体内的所有线程都停止了,应该怎么弄?是在窗体的关闭事件里做吗?

解决方案 »

  1.   

    在窗体里开创的新线程的IsBackground的属性都设为TRUE
      

  2.   

    方法有三:
    1.新开线程应该有终止条件,关闭主线程时,满足该条件,使新开的线程终止。
    2.主线程关闭时调用Thread.Abort()终止线程。
    3.将新开线程设置后后台线程,设置Thread.IsBackGround为true,它不会防止线程终止,CLR会终止该进程程,所有线程皆终止。推荐使用1.或者3.,它们都是安全的做法。
      

  3.   

    后台线程 IsBackground属性设置为true 即可