你是怎么调用用Threadtest的,一般应该是这样
Threadtest t = new Threadtest();
t.threadtest();//启动线程
t.outthread();//此时就会进入foreach,form2此时还未显示出来
至于那个hide的问题,只有当showdialog出来的form2窗体hide或者关闭之后,创建form2的那个线程才能继续向下执行,向下执行的结果当然就是线程结束了。你可以简单的把test改成这样看看
private static void test()
{
Form2 form2 = new Form2();
form2.ShowDialog();
int i = 0;
while (true) //当你hide掉form2或者关闭之后,这个循环才开始运行
{
Console.WriteLine(i++);
Thread.Sleep(100);
}
}
线程的生命周期已经完了,listThread都是空的,怎么会执行foreach语句呢?
代码不全 无法解答