当前位置:编程学习 > C#/ASP.NET >>

WebBrowser 加载状态判断,很神奇的地方

public void DownLicense(string dogInfo)
  {
   string url = System.Configuration.ConfigurationManager.AppSettings["default"] + "?i=" + dogInfo;
   WebBrowser wb = new WebBrowser();
   wb.DocumentCompleted+=new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);
   
   wb.Navigate(new Uri(url));

   while (wb.ReadyState != WebBrowserReadyState.Complete)
   {
    MessageBox.Show("D");
   }
   MessageBox.Show(wb.DocumentText);   
  }

  void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
  {
   state = 1;
  }
 


如果把MessageBox.Show("D");去掉,就会陷入无限循环,加上就正常了,因为想在这个方法里自动获取网页内容,所以不知道怎么解决了

感觉像是多线程的问题,MessageBox弹框的时候就像当前线程异步了一样,求高手解答,或是其他可以在一个方法里得到返回内容的解决方法也行 --------------------编程问答-------------------- void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
  {
        if(wb.ReadyState == WebBrowserReadyState.Complete)
        {
             // 在这里获取源代码。。。。。
         }
  }

把 DownLicense 中的 while 循环去掉。 --------------------编程问答--------------------
引用 1 楼 peenyking 的回复:
void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
  {
        if(wb.ReadyState == WebBrowserReadyState.Complete)
        {
             // 在这里获取源代码。。。。。
         }……

刚给url的时候,肯定是不相等的,获取不到东西
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,