直接上实例,下面是一个错误的实例请帮我更正一下吧:
private void button1_Click(object sender, EventArgs e)
{
Thread myThread;
myThread = new Thread(new ThreadStart(ConsoleH));
myThread.Start();
Thread.Sleep(10000);
}
private void ConsoleH()
{
MessageBox.Show("我想10秒后才弹出此框!");
}
我想使用Thread.Sleep(10000)使它10秒后才弹框,但是发现这样写是不对的,它还是会直接弹框,1秒也不停留,反倒是关闭窗体时会延迟10秒才关闭,我猜测可能这个Thread.Sleep(10000)对myThread这一线程没用,而是对WinForm本身的Application.Run(new Form1())线程有作用,只是猜测,请问应该怎么更正?
------解决方案--------------------------------------------------------
你这样写有啥用,线程在执行,Thread.Sleep根本不影响线程内部执行,要延时也要在线程内部做延时,放到 ConsoleH中