我有一个网络浏览器对象。 它做了很多工作,所以我经常遇到对象尚未加载或新请求尚未完成等问题。
所以现在我正在使用这样的东西:
Thread.Sleep(n);
while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
// do stuff here
但如前所述,我不喜欢它。这是非常不可靠的。加上线程被卡住。
我确定我在互联网上的某个地方看到过类似 DownloadCompleteHandler(不确定名称)的东西,它正在启动异步下载页面的过程,并且在它完成后 - 我可以调用另一个处理程序来告诉它下一步做什么。
可是我再也找不到了。 如果有人可以提供帮助,那就太好了。
请您参考如下方法:
我认为您正在寻找 DocumentCompleted事件。
Navigated当页面被导航到并开始加载时调用事件,DocumentCompleted页面加载完成时调用该事件。
编辑
回应您对您的问题的评论;你正在寻找 ProgressChanged事件。
事实上,如果您通读 WebBrowser 会更容易MSDN 上的文档。此页面上有一个“事件”部分,其中列出了所有事件及其用途。
