在开发过程中经常需要在程序中嵌入浏览器控件用于访问网页,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);
}
}
}
[caption id="" align="aligncenter" width="710"]
可能会出现的报错[/caption]
[caption id="" align="aligncenter" width="586"]
完整代码,重启后无报错[/caption]
上面的步骤都做完后试着按F5运行一下,发现有报错,大概意思是不能以AnyCPU的模式运行。
这里需要点击“生成”菜单下的“配置管理器”,把活动解决方案平台改成x86。
改完上面的之后Properties里的目标平台也会自动改成x86。
再次运行即可成功显示出网页。
测试一下浏览器内核,是Chrome79,现在终于可以摆脱那难用的IE内核了。
本文版权归逸云蓝天所有,转载请注明出处并添加本文链接。