在继续之前等待浏览器完成流程的代码的最佳方法是什么?我在下面尝试了这个代码,并且在处理下一个链接之前,该过程不会等到它完成。
void WaitBrowserLoading()
{
while (webBrowser1.IsBusy)
Application.DoEvents();
for (int i = 0; i < 500; i++)
if (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
lblStoreID.Text = "";
//System.Threading.Thread.Sleep(5);
}
else
break;
Application.DoEvents();
}
答案 0 :(得分:0)
Navigated
或DocumentCompleted
事件是否符合您的要求?我怀疑后者更适合你:
处理DocumentCompleted事件以在新文档完成加载时接收通知。发生DocumentCompleted事件时,新文档已完全加载,这意味着您可以通过Document,DocumentText或DocumentStream属性访问其内容。
基本上你在导航之前禁用所有控件(或任何你想要“停止”的东西),然后在事件触发时重新启用它们。