今天发现使用WebBrowser时载入一个页面后DocumentCompleted事件会被调用2次,后来发现这两次WebBrowser的ReadyState状态是不一样的,第一次是Intercative,第二次是Complete。
MSDN上面对两个状态值的解释是:
Complete 该控件已完成新文档及其所有内容的加载。
Interactive 该控件已经加载足够的文档以允许有限的用户交互,比如单击已显示的超链接。
由此可见,当接受完成Html文本信息后会激发一次,当完成对Html相应的图片,外部其他媒体后会激发第二次。分别是Interactive和Complete。
所以,为了防止重复激活调用事件,还是只取一次的好,我取的是Complete
于是会在DocumentCompleted的相应方法中写入

复制 保存

if(webBrowser1.ReadyState!=WebBrowerReadyState.Complete)return;
 
  Thread.Sleep(5000);

webBrowser1.Document.GetElementById("submit").InvokeMember("click");

while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)

{

Application.DoEvents();

}

转载于:https://www.cnblogs.com/changyou/archive/2010/01/09/1643151.html

关于WebBrowser.DocumentCompleted事件相关推荐

  1. 谨慎注意WebBrowser控件的DocumentCompleted事件

    引言 WebBrowser控件的DocumentCompleted事件一般就被认定为是在页面完全加载完毕后产生,而注释中也是这么写的: 但事实却并非如此. 首先它不一定会在完全加载完毕时才触发,有时就 ...

  2. C# WinForm开发系列 - WebBrowser

    介绍Vs 2005中带的WebBrowser控件使用以及一些疑难问题的解决方法, 如如何正确显示中文, 屏蔽右键菜单, 设置代理等; 收集的文章中有可能还带了一些Asp.Net开发使用微软的WebBr ...

  3. WebBrowser控件判断完全加载中DocumentCompleted和Navigated的关系

    WebBrowser控件判断完全加载使用DocumentCompleted是有问题的,所以有人提出可以使用判断DocumentCompleted的次数和Navigated次数完全相等的方法判断是否完全 ...

  4. vb检测html事件,VB代码VB小程序:捕获 WebBrowser 控件的鼠标事件

    49. 捕获 WebBrowser 控件的鼠标事件 VB 的网页浏览控件 WebBrowser 没有 MouseDown.MouseMove.MouseUp 等鼠标事件,要在程序中捕获这些事件,必须另 ...

  5. WebBrowser页面与WinForm交互技巧

    话说有了WebBrowser类,终于不用自己手动封装SHDocVw的AxWebBrowser这个ActiveX控件了.这个类如果仅仅作为一个和IE一模一样浏览器,那就太没意思了(还不如直接用IE呢). ...

  6. 用webBrowser打开网页出现脚本错误怎么办

    当IE浏览器遇到脚本错误时,在浏览器左下角会出现一个黄色图标,点击可以查看脚本错误的详细信息,并不会有弹出的错误信息框.我们在用webBrowser编写的程序打开网页,遇到脚本有问题是,会弹出一个错误 ...

  7. c#winform使用WebBrowser 大全

    C# WinForm WebBrowser (一) MSDN资料 1.主要用途:使用户可以在窗体中导航网页. 2.注意:WebBrowser 控件会占用大量资源.使用完该控件后一定要调用 Dispos ...

  8. C# WebBrowser自动填表与提交

    C# WebBrowser自动填表与提交 默认分类 2007-04-18 15:47:17 阅读57 评论0   字号:大中小 订阅 要使我们的WebBrowser具有自动填表.甚至自动提交的功能,并 ...

  9. C#WinForm WebBrowser (二) 实用方法总结

    实用方法1:获取状态栏信息 void webBrowser1_StatusTextChanged(object sender, EventArgs e){ label1.Text = webBrows ...

最新文章

  1. linux ubuntu 16.04下deb文件的安装以及一些问题的解决
  2. java 线程可见性,Java多线程之内存可见性
  3. window下的host路径
  4. php静态函数作用,php – OOP中静态函数有什么用?
  5. superset可视化-Pie Chart(圆饼图)
  6. PID控制器开发笔记之七:微分先行PID控制器的实现
  7. VirtualBox 无权限问题
  8. 员工激励手段1+1组合出击
  9. 基于MSBuild的xnb资源预生成机制
  10. Nginx 学习笔记(十)介绍HTTP / 2服务器推送(译)
  11. 阿里、腾讯双双辟谣:云计算魅力彰显
  12. 华为的人才体系:任正非这样管理19万员工
  13. 信息学奥赛一本通知识集锦+往年真题
  14. FAL风控策略分析师怎么样?
  15. 一百行写一个2048
  16. 5G时代,智能工厂迎来4大改变
  17. visual studio进入时许可证已过期解决方案
  18. AIOT产业技术全景结构-数字化架构设计(8)
  19. 洛谷 P3978 [TJOI2015]概率论
  20. python中的complex是什么意思_Python 内置函数complex详解,pythoncomplex

热门文章

  1. matlab2015a支持的usb webcams support package
  2. 生成树(光棍 牛客, 思维)
  3. Java EE 课程作业(second)-- 企业级应用和互联网应用的区别
  4. docker-部署elk-6.1.3
  5. Android中解析XML
  6. 解决GIT代码仓库不同步问题
  7. Kinect+OpenNI学习笔记之12(简单手势所表示的数字的识别)
  8. DataList 外部事件获取DataList内部值
  9. IT项目之旅(一)《宿舍管理系统》设计与实现
  10. UA MATH564 概率论VI 数理统计基础3 卡方分布上