我现在要使用循环从1到9999999之间进行循环,对这些数字进行检查是否符合特定条件。我使用的是winform,点击按钮开始循环,发现窗体就像死机似的,没有任何反应了,等循环结束才有反应。
在C#中有什么办法可以解决这个问题的呢?例如vb中可以使用doevent语句,C#中有没有对应的语句呢?谢谢。

解决方案 »

  1.   

    Thread tr = new Thread(new ThreadStart(GO));
    tr.Start();private void GO()
    {
      int i = 0;
      while (true)
      {  }  
    }
      

  2.   

    一样是DoEvents()方法。参考如下代码:
    for (int i = 0; i < 100000; i++)
    {
        // TODO : 原语句
        Application.DoEvents();
    }
      

  3.   

    学习下,我也在找,我以前写delphi的时候也有一个方法,我还以为在c#里只能使用多线程了呢
      

  4.   


    private void Dowork()
    {
        for (int i=1; i<=9999999; i++)
        {
            
        }
    }//button1_Click:
    Application.DoEvents();
    this.Dowork();
      

  5.   

    简单的话用BackgroundWorker
    多线称比较麻烦