c#中,怎么实现for循环根据条件暂停执行:即在每一次循环的过程中都要去处理另一个需要几十秒时间的程序,在这个程序完成后返回并再继续f
             程序的情况: 
             在winform程序中有一个窗口,在这个窗口中放置了两个webbrowser控件(wbList,wbDetail),左边的用来显示一个web的List列表页面,而在右边显示在List页面加载成功后再分别自动显示列表中每一条记录的Detail详细页面(需要的数据在这里处理). 
             遇到的问题: 
             现在遇到的问题是,在左边的List页面加载完成后,我在它的DocumentCompleted事件时来循环显示Detail页面,调用的代码是wbDetail.Navigate(strURI);(这个操作比较耗时,估计得有十秒钟左右的),然而在用for循环时分别显示Detail的页面时,由于for循环它就不能停下来,一下子就把循环执行完了,而在每次循环过程中显示需要耗时Detail页面,除了最后一个能正常显示外其它的都不能正常显示! 
             需要的处理办法: 
             我想到过控制线程,尽可能使这在每一次循环过程中执行wbDetail.Navigate(strURI);时让for循环暂停执行,待wbDetail.Navigate(strURI);执行完成后再继续for循环!但是这个怎么来实现呢?怎么来控件这两个webbrowser控件按照我所设想的顺序来执行的呢? 
             除了线程,还有锁等控件代码块操作的方法都可以的,thank:)   
------解决方案--------------------每次启动一个Thread来执行任务,然后通过Thread.Join等待任务执行完毕。
------解决方案--------------------先引用 
 using System.Threading;   
 在代码中需要暂停语句前写 
 Thread.Sleep(3000);//3000毫秒,多少自己设
------解决方案--------------------可以使用Event。在WebBrowser.Navigate函数调用后,等待事件消息。在WebBrowser.Navigated事件接收函数中,设置Event。这样的话,for循环就被阻止了。
------解决方案--------------------搞定了没?   
 实在不行就用多线程试试看。 
 单独开一个线程。 
 private Thread poThread;   
         private void button1_Click(object sender, EventArgs e) 
         { 
             poThread = new Thread(new ThreadStart(myThread)); 
             poThread.IsBackground = true; 
             poThread.Start();               
         }   
         private void myThread() 
         { 
             for (int i = 0; i  < 10; i++) 
             { 
                 webBrowser1.Navigate( "http://www.csdn.net "); 
                 Thread.Sleep(); 
             } 
         }   
 //在 
 private void wbDetail_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
 { 
     poThread.Resume(); 
 }   
------解决方案--------------------参考这里 
 http://blog.csdn.net/hertcloud/archive/2007/04/07/1556112.aspx   
 使用多线程  用 
 将你要执行的部分 写成函数 然后使用 事件委托的模式   
 while(true){//事件调用.... //Thread.Sleep(10000) 每10秒执行一次}   
 参考上面地址.