eskysky
发布于 2020-03-01 / 10 阅读
0

C# WinForm嵌入Chrome浏览器(CefSharp)

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