等待WebBrowser完成进程
在继续之前等待浏览器完成流程的代码的最佳方法是什么? 我在下面尝试了这个代码,并且在处理下一个链接之前,该过程不会等到它完成。
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(); }
Navigated
或DocumentCompleted
事件是否符合您的要求? 我怀疑后者更适合你:
处理DocumentCompleted事件以在新文档完成加载时接收通知。 发生DocumentCompleted事件时,新文档已完全加载,这意味着您可以通过Document,DocumentText或DocumentStream属性访问其内容。
基本上你在导航之前禁用所有控件(或任何你想要“停止”的东西),然后在事件触发时重新启用它们。