c# 内嵌chrome (CEFSharp)首次
首先标记一个大坑!!!:
不管哪个版本,都需要在解决方案---配置管理器---平台---改为X86。否则一直打开是空白的窗口。坑了我一天都快炸了。
步骤一、创建一个winform应用程序。使用NuGet添加CefSharp。然后安装完成后,完全关闭vs并重新打开。(智障)
cefsharp45及以上版本需要VC2013:https://www.microsoft.com/en-us/download/details.aspx?id=40784
步骤二、这个教程说可以配置anycpu。配anycpu需要解决方案属性“首选32位”,改csproj和App.config文件。否则你看引用那一堆小叹号。此方法弃用。既然不能很好的支持anyCpu,就别出方法坑人了= =。最后还需要配置管理器改成平台X86才行。辣鸡。(但是nuget包下载后有个readme,第一条就是确保你设置了X86或X64.不会与anycpu一起工作。所以此攻略说的还是有毛病)
步骤二、在解决方案右键----“配置管理器”----平台---“X86”.(没找到选项就新建一个)。即可!!
步骤三、
using CefSharp; using CefSharp.WinForms;
public ChromiumWebBrowser chromeBrowser; public void InitializeChromium() { CefSettings settings = new CefSettings(); // Initialize cef with the provided settings Cef.Initialize(settings); // Create a browser component chromeBrowser = new ChromiumWebBrowser("http://ourcodeworld.com"); // Add it to the form and fill it to the form window. this.Controls.Add(chromeBrowser); chromeBrowser.Dock = DockStyle.Fill; }
此处的settings实例化再Cef去初始。反正是默认的,可以Cef.Initialize();即可
public Form1() { InitializeComponent(); // Start the browser after initialize global component InitializeChromium(); }
private void Form1_FormClosing(object sender, FormClosingEventArgs e) { Cef.Shutdown(); }
逻辑:
一、在form构造函数里,初始化完全局组件后,建立一个初始化方法。
1、CefSetting实例化一个对象settings
2、用Cef去初始化settings。------------Cef.Initialize(settings);
3、实例化ChromiumWebBrower对象(参数是网址)
4、把对象加载到控件里。设为DockStyle.Fill
二、关闭窗体
Cef.Shutdown();
本文源码项目地址:可fork。(第一个最有用的最简单demo:)
https://gitee.com/HuLuMiaoMiao/FirstCefSharp.git
资料:
gitHub官方解答如何使用CefSharp!!!:
https://ourcodeworld.com/articles/read/173/how-to-use-cefsharp-chromium-embedded-framework-csharp-in-a-winforms-application
cef gitHub项目地址:
https://github.com/cefsharp/CefSharp
CefSharp.MinimalExample :包括WPF、WinForms等最简单实现
git@github.com:hulumiaomiao/CefSharp.MinimalExample.git
来源:https://www.cnblogs.com/hulumiaomiao/p/8574614.html