在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