我环顾四周很长时间,我注意到每个人都说 webbrowser 正在异步工作,我认为这是错误的,因为当我触发 Navigate 甚至实现 documentComplete 事件时,什么都没有发生。
我注意到,当主线程(拥有网络浏览器的线程)完成他的工作时,网络浏览器才开始导航,可能是因为在那之后浏览器将使用主线程来执行他的命令。
现在这不好,因为我希望能够控制时间,我希望能够知道网络浏览器何时完成加载页面,然后继续我的工作。轮询在这里不起作用,因为我之前说过,网络浏览器甚至没有开始导航。
例子:
WebBrowser browser = new WebBrowser();
browser.Navigate(url);
while(browser.ReadyState != WebBrowserReadyState.Complete)
{
}
// Then executing the next steps...
如何同步使用 WebBrowser,以便能够使用 WebBrowser 的文档属性和其他内容,我想创建某种阻塞方法,这样我就可以控制并知道 WebBrowser 何时完成加载。