在C#中,默認的WebBrowser控件默認使用的是IE的core,而IE的種種遭人吐槽的詬病使我不敢輕易使用WebBrowser,因此,打算使用Chrome的內核替換IE。Chrome的內核使用的是WebKit,顯而易見,我們這里就將使用WebKit來實現Winform中內嵌一個Chrome瀏覽器。
准備工作:
1、下載WebKit.Net https://sourceforge.net/projects/webkitdotnet/files/latest/download ,如果地址不能成功下載,那么可以在我的個人GitHub內找到壓縮包進行下載進行。
GitHub-> https://github.com/dong666/AHelloDotNet_DG/tree/master/50-Resource
2、下載好后,進行解壓縮,並且將文件夾內需要用的dll復制到程序的/bin/Debug目錄下。
3、將WebKitBrowser.dll拖拽到ToolBox工具箱中如圖:
3、然后將此控件拖拽到Form窗體中:
這里我們引用的dll是WebKitBrowser:
4、然后我們就可以進行代碼的編寫,給TextBox加一個回車按鍵事件,用於輸入Uri后進行鏈接跳轉
private void textBox1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { this.webKitBrowser1.Navigate(textBox1.Text.Trim()); } }
下面代碼可選,WebKitBrowser添加事件,這個事件的作用是將html代碼展示到richtextbox中。
private void webKitBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { string domText = webKitBrowser1.DocumentText; richTextBox1.Text = domText; }
5、編譯啟動項目測試結果。
可見,完美實現~
此代碼已歸檔到GitHub -> https://github.com/dong666/AHelloDotNet_DG