在开发过程中经常需要在程序中嵌入浏览器控件用于访问网页,Visual Studio中自带了一个webbrowser控件,但无奈这个控件是调用用户电脑上的IE浏览器来实现的,如果用户装的是低版本IE(比如Win7的IE8)很多新的网页标准就无法得到支持,这时使用CefSharp来替代webbrowser控件是一个不错的选择。

这里用Visual Studio 2015演示CefSharp的使用。

首先请确保程序的目标框架至少是.NET Framework 4.5.2,不是的话请双击“解决方案资源管理器”里的Properties更改目标框架。

设置.net版本

点击项目菜单下的“管理NuGet程序包”。

管理NuGet程序包

在浏览选项卡下的搜索框里搜索“cefsharp”,安装搜索结果里的CefSharp.WinForms。

搜索cefsharp

然后再安装CefSharp.Common,一般在安装这项的时候还会自动安装上cef.redist.x86和cef.redist.x64。

安装CefSharp.Common

安装CefSharp.Common

安装完成后“已安装”选项卡下应该有以下这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内核了。

测试浏览器内核


本文版权归一天天世界所有,转载请注明出处并添加本文链接。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

 
返回顶部
ett