怎样让程序暂停一段时间再执行?但消息循环不暂停.
如在for语句中,每执行一次循环暂停100毫秒.用Thread.Sleep(100)好象消息循环也停止了,但用Timer控件的话过于麻烦.有没有什么好的办法?我主要是想在for语句里面执行Invalidate(),但我Sleep后,就发现没有执行Invalidate()了.

解决方案 »

  1.   

    空循环。for(int i ;i < 100000;i++){}
      

  2.   

    顶呀,具体怎么弄呀.怎么样把一个picturebox的onpaint放在一个单独的线程里面?
    本来画图就挺慢了,如果还有时间来暂停的话,就更慢更卡了呀.
      

  3.   

    for (int i=0; i <100000 ; i++)
    {
      Application.DoEvents();
    }这是最简单的方法。
    不需要用到线程。线程的用处是在于并行执行。
      

  4.   

    DoEvents就相当于Delphi中的ProcessMessage,作用是处理排队的消息