截止目前为止,CefSharp是一个比较好的解决方案。CefSharp是嵌入的Chromium浏览器,基本等同chrome。

笔者这里用的是VS2017社区版,简单写写操作,给大家扫盲吧。

首先是先搭建基本的开发环境。

1. 新建Winform应用程序。

2. 在解决方案管理器上,右键单击引用,选择“管理NuGet程序包”。

3. 点击浏览选项卡,搜索CefSharp,在列表中选择CefSharp.WinForms,安装CefSharp包,会自动安装相关引用包。

4. 打开引用列表,看到有CefSharp,CefSharp.Core,CefSharp.Winforms这三个包就OK了。

然后说一下基本的用法。先实现把ChromeWebBrowser嵌入到窗体中去并打开百度好了。

public ChromiumWebBrowser browser;
public void InitBrowser(){
Cef.Initialize(new CefSettings());
browser = new ChromiumWebBrowser ("www.baidu.com");
this.Controls.Add(browser);
browser.Dock = DockStyle.Fill;
}
然后再窗体构造函数中,InitializeComponent()之后调用InitBrowser()方法,将browser添加到窗体中去。

这里要说一下,CefSharp这个开源项目,目前应该没有办法导入VS的工具箱(至少笔者没成功),所以只能通过代码方式创建对象,browser的事件,也都需要代码注册,不过只要不是太新的新手,应该很快就习惯了。

这样运行就能打开百度的页面了。

第一篇就这样吧,接下来会说一下如何在browser中的html页面里,用js调用Winform中的方法。