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弹框的时候就像当前线程异步了一样,求高手解答,或是其他可以在一个方法里得到返回内容的解决方法也行
{
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弹框的时候就像当前线程异步了一样,求高手解答,或是其他可以在一个方法里得到返回内容的解决方法也行
{
if(wb.ReadyState == WebBrowserReadyState.Complete)
{
// 在这里获取源代码。。
}
}把 DownLicense 中的 while 循环去掉。