private void btnScan_Click(object sender, EventArgs e)
{
    for(int i=1;i<10000;i++)
    {
         Thread Td = new Thread(new ParameterizedThreadStart(Scan));
         //Td.IsBackground = true;//主程序结束,后台进程会自动结束
          Td.Start(i);
    }        
}
private void btnStop_Click(object sender, EventArgs e)
{
   结束所有子线程.怎么办啊????
}  
public void Scan(object port)
{
  ***********
}

解决方案 »

  1.   

    把所有子线程都作为公共变量Thread[] Td;
    private void btnScan_Click(object sender, EventArgs e)
    {
        Td=new Thread[10000] 
        for(int i=1;i <10000;i++)
        {
            Td[i] = new Thread(new ParameterizedThreadStart(Scan));
            //Td.IsBackground = true;//主程序结束,后台进程会自动结束
              Td.Start(i);
        }       
    }
    private void btnStop_Click(object sender, EventArgs e)
    {
      结束所有子线程.怎么办啊????
          for(int i=1;i <10000;i++)      Td[i].Abort();

    public void Scan(object port)
    {
      ***********
    }