WebBrowser 访问网页失败,出现“已取消到该网页的导航”,我们的程序如何知道呢?
1、为 WebBrowser 增加 DocumentCompleted 事件
2、在该事件处理程序中,增加如下代码:
注意 webBrowser1.Document.Url 指当前文档实际的 URL,而 webBrowser1.Url 指 WebBrowser 访问的 Url,那个参数 WebBrowserDocumentCompletedEventArgs 的 Url 指当前访问的,如果有 ifrmae 框架,它就可能是框架的 Url,这时就跟 webBrowser1.Url 有区别了。
这是对那些无法访问服务器的错误有效,但是如果是 500、404 一类的错误就无效了,对这种错误还比较复杂,没特别的状态属性来判断,一种比较不成熟的方法就是判断 Title 文字内容,据说还可以不用 WebBrowser 控件,用 ActiveX 中的一个控件,但我看代码也挺复杂,没认真研究,有兴趣的可以网上搜一下。