把线程放在数组里,结束的时候调用Abort()方法。

解决方案 »

  1.   

    好像把线程设显background就可以吧
      

  2.   

    Application.Exit();这个是不是没有办法在Form1_Closing里面用啊,我在Form1_Closing事件里写Application.Exit()没有用,线程还是在运行。我的程序里运行的那个线程是一个循环,在程序刚开始运行时,线程的循环没有结束之前,你如果点那个窗口上的关闭按钮,这时窗口是关了,但那个线程还在运行,而且我在窗口关闭时那个事件里写了Application.Exit(),也没有用。
      

  3.   

    设置Thread属性可以解决此问题
    Thread thread = new Thread();
    thread.IsBackground = true;
    这样thread在程序主窗口被关闭后自动结束。
      

  4.   

    maotroy()我照你说的但是编绎不能通过,说是无法将类型“bool”隐式转换为“System.Threading.Thread”这能否详细的介绍一下这个属性。还有flyncs()老兄,怎么才能在程序运行的时候屏蔽窗口上的关闭按钮。
      

  5.   

    请检查你的代码,IsBackground是Thread对象的一个属性,其类型是bool,你说的情况明显就是直接把true赋给了一个Thread对象才会产生的。
      

  6.   

    线程的问题解决了,在form1_closing里写什么代码能使程序不关闭,继续运行。
      

  7.   

    在一个过程(或程序)退出时首先应该将该过程内部子过程从最里面的一层开始逐层退出。真的线程.Net中有个信号量的概念,在退出窗口线程之前要等到你有循环这个线程退干净了信号量后才退出。而在关闭窗口时要先发送一个要线程结束的信号量给有循环的这个线程。该线程接到该信号量就要在完成退出的准备工作后退出。再发出信号通知窗口线程可以关闭。程序中退出的过程很重要。