public void DataAnalyse()
 {
for (int i = nDataNOStart; i <= nDataNOEnd; i++)
    {
       .........
        if (StopFlag == true)
        { break;}
     }
 }
Thread oThread = new Thread(DataAnalyse);
oThread.IsBackground = true; private void StopAnalys_Click(object sender, EventArgs e)
        {
           
            StopFlag = true;
            oThread.Abort(); 
        }
点击"stopanalys"按钮界面死掉了,如何终止子线程oThread呢

解决方案 »

  1.   

    oThread.IsBackground = true;oThread.Start();
    有启动代码的                        
      

  2.   


    界面死掉是for的问题,不是线程引发的问题。高度怀疑你的线程根本没有启动
      

  3.   

    线程启动了,如果不按"stopanalys"停止按钮,该线程会一直顺利执行完毕,DataAnalyse()
    中计算的结果也都顺利保存下来了,但是按"stopanalys"之后,界面却死掉了
      

  4.   

    oThread.Abort();  
    把这句去掉试试