一、開發環境
1、本機,win7 x64, .net 4.6,vs2019
2、源碼地址:源代碼csdn 或者底部qq問我要。或者 百度網盤 udbk
二、安裝cefsharp
1、新建一個winform窗體程序,從nuget中搜索cefsharp並安裝
2、修改項目屬性為x86
在解決方案上,右鍵鼠標,選擇屬性,更改項目屬性為x86,沒有x86選項就在圖中配置管理器中新建
3、重新生成項目,無錯誤
三、cefsharp基本使用,初始化、加入網址瀏覽、關閉、獲取加載后的資源
1、初始化
public static string url = "https://www.baidu.com";//設置進入網頁 public ChromiumWebBrowser browser = new ChromiumWebBrowser(url);//初始化cefsharp瀏覽器 public Form1() { InitializeComponent(); browser.Dock = DockStyle.Fill;//設置填充滿窗體 this.Controls.Add(browser);//把cefsharp加入到窗體中 }
運行,就展示了百度的首頁
2、關閉事件
在窗體的關閉事件中,要釋放cefsharp的資源
private void Form1_FormClosing(object sender, FormClosingEventArgs e) { CefSharp.Cef.Shutdown(); }
3、獲取加載后的資源。在瀏覽器FrameLoadEnd事件中處理
public void Init(string url, int? insertIndex = null) { browser.Dock = DockStyle.Fill; panbrowser.Controls.Add(browser); browser.RequestHandler = new WinFormsRequestHandler(Init); browser.FrameLoadEnd += webBrowser_FrameLoadEndEventArgs; } /// <summary> /// 頁面加載完成 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void webBrowser_FrameLoadEndEventArgs(object sender, FrameLoadEndEventArgs e) { string htmlstr = string.Empty; if (e.Frame.IsMain) { browser.GetSourceAsync().ContinueWith(taskHtml => { htmlstr = taskHtml.Result; }); } }