使用CEF作為瀏覽器


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM