C#客戶端嵌入Chrome瀏覽器的實現


https://blog.csdn.net/lanwilliam/article/details/79639823

客戶端軟件,也就是傳統的Winform軟件,在很多時候是很好用的。因為在做一些打印、本地設備操作的時候,純Web系統還是存在很多局限性的。例如很多驅動你需要單獨寫cab包啦,交互式實現調試很困難啦,瀏覽器適配問題啦等等。這個時候,Winform結合Web的方式,就是一種比較好的選擇。 傳統上來說,.net本身支持WebBrowser,但是WebBrowser這個東西是基於本地操作系統IE瀏覽器的,一些CSS的樣式解析啦,還有一些權限什么的,還是沒有辦法很好的控制。這時候我們就會想要把Chrome瀏覽器嵌入過來用了。 最早網上有Webkit的一些控件,但是現在已經不提供更新維護了。所以截止目前為止,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中的方法。 --------------------- 本文來自 b哈利路亞d 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/lanwilliam/article/details/79639823?utm_source=copy


免責聲明!

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



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