截止目前為止,CefSharp是一個比較好的解決方案。CefSharp是嵌入的Chromium瀏覽器,基本等同chrome。
筆者這里用的是VS2017社區版,簡單寫寫操作,給大家掃盲吧。
首先是先搭建基本的開發環境。
1. 新建Winform應用程序。
2. 在解決方案管理器上,右鍵單擊引用,選擇“管理NuGet程序包”。
3. 點擊瀏覽選項卡,搜索CefSharp,在列表中選擇CefSharp.WinForms,安裝CefSharp包,會自動安裝相關引用包。
4. 打開引用列表,看到有CefSharp,CefSharp.Core,CefSharp.Winforms這三個包就OK了。
然后說一下基本的用法。先實現把ChromeWebBrowser嵌入到窗體中去並打開百度好了。
public ChromiumWebBrowser browser;
public void InitBrowser(){
Cef.Initialize(new CefSettings());
browser = new ChromiumWebBrowser ("www.baidu.com");
this.Controls.Add(browser);
browser.Dock = DockStyle.Fill;
}
然后再窗體構造函數中,InitializeComponent()之后調用InitBrowser()方法,將browser添加到窗體中去。
這里要說一下,CefSharp這個開源項目,目前應該沒有辦法導入VS的工具箱(至少筆者沒成功),所以只能通過代碼方式創建對象,browser的事件,也都需要代碼注冊,不過只要不是太新的新手,應該很快就習慣了。
這樣運行就能打開百度的頁面了。
第一篇就這樣吧,接下來會說一下如何在browser中的html頁面里,用js調用Winform中的方法。