本人编写了一个利用Webbrowser自动展示时间的小程序,其中有一功能是:如果鼠标没有移动就自动隐藏。可是在Form中,鼠标事件被Webbrowser屏蔽了,只好在HTML的Body中加入鼠标移动事件,再将事件传递给Form,然后在Form中实现这一功能。具体如下:
一、实现HTML访问Form中的代码
1、HTML中,在body标签中加入 οnmοusemοve=window.external.fromWeb('传递给Form的参数'),其中fromWeb是Form中的一个接收数据的过程
2、在Form_Load事件中加入Webbrowser1.ObjectForScripting = Me,并将“项目属性 --> 应用程序 --> 程序集信息 --> 使程序集COM可见”打上勾,这样HTML才能访问Form中的过程
二、鼠标指针定时隐藏
1、加入一个Timer控件
2、代码如下:
Private Sub From1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Webbrowser1.ObjectForScripting = Me
'为WEB传参到winForm设置窗体引用,另还需将“项目属性--应用程序--程序集信息”中的“使用程序集COM可见”勾选
'.......
'其它代码
'.......
End Sub
Private CursorIsNot=Flase '鼠标指针是否隐藏标志
Private CursorDelay=Now '鼠标定时初值
Public Sub fromWeb() '鼠标移动时,由Web事件触发ÿ