一、利用CefSharp调用谷歌浏览器内核ChromiumWebBrowser 参考1
CefSharp项目url: https://github.com/cefsharp/CefSharp
- 环境准备
- 创建WinForm程序:需要注意要使用.NetFrameWork4.5.2以上版本。
- 设置目标平台:在解决方案上右键 - 属性 - 生成 - 目标平台,选择x86或x64,因为Cef暂不支持AnyCPU。如果平台里没有x86,可以在生成 - 配置管理器中的平台进行新建平台。需要注意如果新建平台,debug目录会生成新建平台的文件夹,要注意文件的存放位置。
- 引用相关DLL
- 下载并解压CefSharp编译好的文件(注意区分32位还是64位,如for32 - bitapps)。
- 项目右键添加引用,添加以下dll:CefSharp.dll、CefSharp.Core.dll、CefSharp.WinForms.dll。
- 编写测试代码
- 在InitializeComponent()方法中调用InitBrowser(),之后就可以F5调试运行。
二、WinForm嵌入谷歌地图(涉及到与js双向通信等)参考2
- 准备工作
- 创建winform程序,使用.NET4.5.2或以上(例如vs2017,因为vs2010最高支持.NET4.0)。
- 在解决方案上右键 - 属性 - 生成 - 目标平台,选择x86或x64(类似CefSharp的要求,Cef暂不支持AnyC…)。
- 获取谷歌地图相关代码
- 参考谷歌地图的api编写html代码,例如:
- 初始化地图部分代码,像设置地图的中心位置(center)、放大倍数(zoom)、地图类型(mapTypeId)等参数。
- 在与WinForm交互部分,如通过
window.external
方法从前台winform中获得输入的坐标,实现双向通信。
- 参考谷歌地图的api编写html代码,例如:
- 在WinForm中嵌入
- 将相关的html代码与WinForm进行结合,实现谷歌地图在WinForm中的嵌入以及相关功能(如定位、根据两点连接路径等功能)。
三、简单嵌入谷歌ChromiumWebBrowser到WinForm 参考3
-
在
InitializeComponent();
之后- 创建
ChromiumWebBrowser
对象,例如ChromiumWebBrowser webview = new ChromiumWebBrowser(url);
,这里的url
是要显示的网页地址。 - 设置相关属性,如
webview.Dock = DockStyle.Fill;
,然后将其添加到WinForm的控件中,this.Controls.Add(webview);
。 - 还可以设置一些其他的属性,如
webview.KeyboardHandler = new CEFKeyBoardHander();
(这里的CEFKeyBoardHander
是自定义的处理键盘事件的类等情况)。
- 创建