private void button1_Click(object sender, EventArgs e)
        {            foreach (string i in io.GetWindiwsH("测试文本"))
            {                Thread xc = new Thread(new ParameterizedThreadStart(runing));                xc.Start(Convert.ToInt32(i));            }        }
我测试的时候开了三个窗体,却只有一个窗体执行代码,请指教这到底是几个线程?

解决方案 »

  1.   

    记录线程句柄数组,然后判断,诸如if(th.IsAlive)
    {
      th.Abort();
    }
      

  2.   

    private List<Thread> list = new List<Thread>();private void button1_Click(object sender, EventArgs e)
    {
        foreach (string i in io.GetWindiwsH("测试文本"))
        {
            Thread xc = new Thread(new ParameterizedThreadStart(runing));
            xc.Start(Convert.ToInt32(i));
            list.Add(xc);
        }
    }private void 关闭按钮_Click(object sender, EventArgs e)
    {
        foreach (var item in list)
        {
            try
            {
                item.Abort();
            }
            catch (Exception)
            {
            }
        }
    }