我需要暂停循环,直到webbrowser完成页面加载。webBrowser加载页面时暂停循环的最佳方式是什么?
string[] lines = (string[]) Invoke((ReadLine)delegate
{
return logins.Lines;
});
foreach (string line in lines) {
//..
if (TryParseUserDetails(line, false, out data) {
//...
wb.Navigate(url.Next());
}
}
如何等待wb
页面加载到之前继续循环?
我试过使用轮询标志,在WebBrowserDocumentCompletedEventHandler
回调函数中设置一个变量为true。 然后:
wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(
delegate(object sender2,
WebBrowserDocumentCompletedEventArgs args)
{
done = true;
});
// ..
wb.Navigate(url.Next();
while (!done)
{
}
done = false;
我在寻找类似:
wb.WaitForDone();
任何帮助表示赞赏。提前致谢。
你可能想用类似这样的东西替换EventHandler:'wb.DocumentCompleted + =(o,args)=> evt.Set();' - 只是为了使它可读。 – ebb