首页  编辑  

百度地图鼠标滚轮失效的问题

Tags: /C#/界面处理/WebBrowser/   Date Created:
https://blog.csdn.net/weixin_38828227/article/details/79472379

在使用baidu地图,使用滑轮来作为缩放,但是有时候会出现滑轮无效的情况。
检查发现,一旦WebBrowser控件失去焦点,再点击WebBrowser控件,也无法正常鼠标滚轮缩放。
但是在使用alert()函数之后,就可以使用滑轮来进行缩放,也可以在百度地图点击弹出某些信息框后,再正常缩放。
由此判断可能是失去焦点导致的问题,但是在外面将webBrowser.Focus();有时仍然不能解决问题。
然后发现在js中调用的函数使用window.focus();就可以完美的解决问题。

当然如果你的C#主程序里面,如果要用代码来控制,可以在C#主程序中,合适的地方,例如Form_Shown事件中添加类似代码:

this.webBrowser1.Document.MouseMove += new HtmlElementEventHandler(WbMouseMove);
在Form中添加一个事件:
private void WbMouseMove(object sender, HtmlElementEventArgs e)
{
   try { webBrowser1.Document.Focus(); } catch { }
}
这样只要鼠标在网页当中移动,就会自动获取焦点,从而保证鼠标滚轮缩放正常。