private void SendButton_Click(object sender, System.EventArgs e)
{
for(int i=0;i<999;i++)
{
CloseWindow.Text = i.ToString();
System.Threading.Thread.CurrentThread.IsBackground = true;
System.Threading.Thread.Sleep(1000);
}
return;
}
sleep问题,点击按钮后运行是正常的,但是只要点击其它应用程序后,再回到这个窗口上来,程序就会停止进入假死状态(从状态上看,就是CloseWindow.Text不计数了,将鼠标放到窗口上会一直显示忙的鼠标状态)。这是怎么回事?谢谢。

解决方案 »

  1.   

    Thread thread=new Thread(new ThreadStart(新定义执行函数))
    thread.Start()
    新定义函数:
    while(!boolFlag)
    {
    }
    stop:boolFlag=true;
      

  2.   

    sleep只能在线程中交出控制权,在过程中就真的睡着了。
      

  3.   

    你是想实现定时处理吗?
    如果是用下面的代码:
            int  i = 0;
            Timer t = null;
            private void button1_Click(object sender, EventArgs e)
            {
                t = new Timer();
                t.Interval = 1000;
                t.Tick += new EventHandler(OnTimer_Tick);
                t.Start();
            }
            private void OnTimer_Tick(object sender, EventArgs e)
            {            CloseWindow.Text = (i++).ToString();
            }
    就实现了你代码的功能。