C# WinForm嵌入Chrome浏览器(CefSharp)
在开发过程中经常需要在程序中嵌入浏览器控件用于访问网页,Visual Studio中自带了一个webbrowser控件,但无奈这个控件是调用用户电脑上的IE浏览器来实现的,如果用户装的是低版本IE(比如Win7的IE8)很多新的网页标准就无法得到支持,这时使用CefSharp来替代webbrowser控件是一个不错的选择。
这里用Visual Studio 2015演示CefSharp的使用。
首先请确保程序的目标框架至少是.NET Framework 4.5.2,不是的话请双击“解决方案资源管理器”里的Properties更改目标框架。
点击项目菜单下的“管理NuGet程序包”。
在浏览选项卡下的搜索框里搜索“cefsharp”,安装搜索结果里的CefSharp.WinForms。
然后再安装CefSharp.Common,一般在安装这项的时候还会自动安装上cef.redist.x86和cef.redist.x64。
安装完成后“已安装”选项卡下应该有以下这4个内容。
把下面的代码复制进Form1.cs,这时VS可能会有报错,关闭VS再重新启动一下就能解决问题。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using CefSharp; using CefSharp.WinForms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); string url = "https://www.baidu.com"; ChromiumWebBrowser webview = new ChromiumWebBrowser(url); webview.Dock = DockStyle.Fill; this.Controls.Add(webview); } } }


上面的步骤都做完后试着按F5运行一下,发现有报错,大概意思是不能以AnyCPU的模式运行。
这里需要点击“生成”菜单下的“配置管理器”,把活动解决方案平台改成x86。
改完上面的之后Properties里的目标平台也会自动改成x86。
再次运行即可成功显示出网页。
测试一下浏览器内核,是Chrome79,现在终于可以摆脱那难用的IE内核了。
本文版权归逸云蓝天所有,转载请注明出处并添加本文链接。