为何使用WEBBROWSER的对象CLICK事件不能生效
来源:互联网 发布:放心的网络代销从哪找 编辑:程序博客网 时间:2024/05/21 06:19
最近为方便同事,做了一个海淀驾校约车的软件。以前使用VS2003下的WebBrowser控件虽然没有封装,但是掌握了技巧以后很容易。所以信心满满的做这个软件,惊喜的发现,WebBrower已经被封装过了,很多功能可以很轻松的使用。
但是做到自动约车的时候,需要两次连续的点击动作,结果发现,点击事件无法立刻被执行。调用点击事件代码如下:
void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
clickObject("button1");
clickObject("button2");
}
void clickObject(string objectId)
{
HtmlDocument doc = this.webBrowser1.Document;
HtmlElement input = null;
input = doc.GetElementById(objectId);
input.InvokeMember("click");
}
出现的问题是,虽然执行完了代码,但是点击动作并不立刻在页面上呈现,而是等待所有的函数执行完成退出后才会发生。刚开始以为是需要等待一段时间才可以发生,因此加了无限循环等待的代码,但是仍然不会执行该动作。
为了确定是哪里的问题,将上边的代码从整个流程中提出,放到了一个按钮中。页面到相应的地址后点击此按钮,发现代码可以正确的被执行。
综合以上的现象发现,如果调用是由Form窗体引发的,则可以立刻执行,而由WebBrowser对象的事件引发则不会立刻执行,要等到事件执行完以后,这些代码的效果才会有所体现。根据这一结论修改了WebBrowser的调用后果然没有问题了。
北京海淀驾校约车助手下载地址:http://download.csdn.net/source/1421667
- 为何使用WEBBROWSER的对象CLICK事件不能生效
- jquery 触发元素 a 的 click() 事件不生效 问题
- knockout click绑定使用事件源对象
- Item的click事件和Item里的button等子控件的click事件同时生效的解决办法
- ListView—Item的click事件和Item里的button等子控件的click事件同时生效的解决办法
- js执行某个对象的click事件
- jQuery不能使用unbind解除超链接<a>的click事件的解决方法
- updatePanel中的button的click事件中不能使用response.write()
- ios 不能触发click事件
- 关于jQuery的click事件不能触发的问题.
- javascript中用Jquery注册button的click事件不能响应
- webapp div click事件不能响应的解决办法
- ie中的radio click()不能触发radio的change事件
- 动态拼接的click事件不能被触发
- 关于动态添加的元素不能触发click事件
- jquery click()方法模拟点击事件对a标签不生效的解决办法
- c# 中webBrowser获取一个没有id和name属性的input标签的click事件
- 去掉listview 的点击效果和Item的click事件和Item里的button等子控件的click事件同时生效的解决办法
- 使用Code::Blocks与wxWidges时遇到的问题
- fckeditor 在php中开启图片上传的功能
- ARM分散加载文件
- 解决多多IP情况下,SSL无法正常访问
- 文本分类和聚类有什么区别?
- 为何使用WEBBROWSER的对象CLICK事件不能生效
- 网络流量单位bps与系统单位byte转换 (转)
- 性能问题算不算bug?
- 一个把表中数据生成Insert脚本的通用存储过程
- FTP对IPv6和NAT的扩展
- 经典SQL语句大全
- tomcat log4j 日志输出设置
- nvarchar varchar区别
- IIS配置