如何解决WebBrowser.DocumentCompleted事件的多次调用
来源:互联网 发布:双三次插值算法 编辑:程序博客网 时间:2024/05/18 15:08
关于DocumentCompleted事件,MSDN给出的解释是在文档加载完毕后执行,但是在我的程序中DocumentCompleted却被多次调用,查了一下资料,大概出现了以下几种情况。
1、WebBrowser载入一个页面后DocumentCompleted事件会执行两次,但这两次的ReadyState状态不一样,分别是Intercative和Complete。而MSDN对这两种状态值的解释是:Complete该控件已完成新文档及其所有内容的加载;Interactive该控件已经加载足够的文档以允许有限的用户交互,比如单击已显示的超链接。由此可见,实际上DocumentCompleted事件会在Interactive状态和Complete状态各调用一次,那么我们可以根据我们的需要来判断到底需要那一次。解决办法实例代码如下:
if(webBrowser1.ReadyState!=WebBrowerReadyState.Complete) return;
2、如果一个页面中含有多个框架页,那么在每个框架页加载完成时也可能触发一次DocumentCompleted事件(MSDN对其解释是在多个的帧的情况下DocumentComplete获取触发多次。并非每个框架将触发此事件,但触发DownloadBegin事件的每个框架将触发相应的DocumentComplete事件)。这种情况下解决办法实例代码如下:
if(e.Url.ToString()!=webBrowser1.Url.ToString()) return;
3、对于以上两种情况我是没遇到,却碰到了第三种情况:在我的DocumentCompleted事件里执行了相应的代码,结果又触发了一次DocumentCompleted事件,如此循环往复,没完没了。使用webBrowser1.Stop(),还是没法停止。webBrowser1.Nagviate("about:blank")问题还是依旧。这时候我们只能卸载DocumentCompleted事件了,即在DocumentCompleted事件里执行完你需要的代码后,再来一句:
webBrowser1.DocumentCompleted -= new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
阅读全文
0 0
- 如何解决WebBrowser.DocumentCompleted事件的多次调用
- 如何解决WebBrowser.DocumentCompleted事件的多次调用
- C#:如何解决WebBrowser.DocumentCompleted事件的多次调用
- 如何解决WebBrowser.DocumentCompleted事件的多次调用
- WebBrowser.DocumentCompleted事件的多次调用
- C# WebBrowser.DocumentCompleted 多次调用解决方法
- C# WebBrowser.DocumentCompleted 多次调用解决方法(转)
- 谨慎注意WebBrowser控件的DocumentCompleted事件
- 以WebBrowser.DocumentCompleted 事件为例,说明用C#如何完成事件的订阅处理。
- .Net 以WebBrowser.DocumentCompleted 事件为例,说明用C#如何完成事件的订阅处理
- 以WebBrowser.DocumentCompleted 事件为例,说明用C#如何完成事件的订阅处理。
- WebBrowser让DocumentCompleted事件执行完毕后再往下执行
- VB的WebBrowser防止多iframe执行多次DocumentComplete事件
- webBrowser 调用html元素的事件
- 解决IE中onresize事件句柄被多次调用的问题
- 解决FileSystemWatcher事件多次触发的方法
- 解决jquery的多次绑定事件
- jQuery的ajax事件多次请求解决
- 长连接转短链接
- 组合数
- Android几种进程
- 剑指offer--反转链表
- POJ Remmarguts' Date A*搜索+spfa
- 如何解决WebBrowser.DocumentCompleted事件的多次调用
- JS高级程序设计——BOM
- Python3网络爬虫(十三):王者荣耀那些事!(Fiddler之手机APP爬取)
- ssh 本地和远端端口转发
- 根据压缩包路径读取此压缩包内文件个数
- Android马赛克效果MosaicView
- volatile 关键字作用
- 指针加减运算
- transition属性定义动画