WebBrowser的DocumentComplete事件有时不执行

cqhydz 2008-02-20 12:17:39
Option Explicit

Private WithEvents htmDoc As HTMLDocument

Private Function htmDoc_onclick() As Boolean

MsgBox "aaaaa"

End Function

Private Sub Command1_Click()
WebBrowser1.Navigate2 "http://www.g.cn"
End Sub

Private Sub Form_Load()
WebBrowser1.Navigate2 "http://www.g.cn"

End Sub

Private Sub htmDoc_onmousemove()
Dim oEvent As CEventObj
Set oEvent = htmDoc.parentWindow.event
Debug.Print "触发事件的元素的ID是"; oEvent.srcElement.Id
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
'MsgBox "stop"
Set htmDoc = pDisp.Document
End Sub

WebBrowser1_DocumentComplete事件中如用一句MsgBox "stop"停一下就htmDoc_onclick()就会正常运行,不然就什么反应也有,有什么方法解决?
...全文
197 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cqhydz 2008-02-21
  • 打赏
  • 举报
回复
还有人有其它方法?
VBToy 2008-02-20
  • 打赏
  • 举报
回复
程序首先会在form_load中加载页面,需要耗时,别说是互联网上的页面,即使是本机上的页面,机器差了都会感觉到会影响后面的程序运行,所以documentComplete事件一般是滞后发生的,如果在此之前对页面进行操作比如试图产生htmDoc_onclick事件,因htmDoc还没有设置,所以不会有动作,这是必然的。至于说用msgbox "stop"停一下可以操作,这是假象,该提示只是说明页面已加载完毕,可以说没有方法能从根本上解决该问题,在加载完成之前,只能先加点别的提示,说明正在加载,等后操作之类的。

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧