如何检查webbrowser控件是否正忙/正在使用?

时间:2009-07-25 04:17:28

标签: .net webbrowser-control

我正在webbrowser控件中加载页面。我怎样才能检查它什么时候完成?我知道DocumentCompleted,但是一个页面可能会调用它5次或更多次。我如何检查它何时完成?

2 个答案:

答案 0 :(得分:2)

ReadyState属性有帮助吗?
还有一个布尔属性Busy。我想,这也应该有所帮助。

答案 1 :(得分:1)

为主文档以及该文档中的每个帧调用DocumentCompleted处理程序。通话次数取决于您打开的特定网页。

使用ReadyState属性作为shahkalpesh建议听起来合理,虽然我知道另一种方法可行。假设你的事件处理程序有这个签名:

  void OnDocumentComplete( object pDisp, ref object url )

并且您有对主文档的引用,然后您可以检查

  pDisp == mainDoc

查看呼叫是否来自主文档。根据我的经验,您还应该将pDisp转换为IWebBrowser2,然后将其Document属性转换为IHTMLDocument2,然后检查其body属性是否为null。如果是这样,那么文档已经完全加载。