我需要暫停循環,直到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