【C# winform练习】利用控件实现浏览器功能的方法(webbrowser和WebKit)

大佬让我做一个在winform内查询gps定位地图的功能,没搞过。gps公司就扔给我们两个链接让我们自己调。想了一下,只要在winform里搞个类似浏览器的控件,查什么传什么参数就ok了。万事俱备,只差百度。

Webbrowser控件

首先考虑的肯定是winform自带的控件,webbrowser。使用起来非常的简单方便。
在工具箱——所有Windows窗体——webbrowser【C# winform练习】利用控件实现浏览器功能的方法(webbrowser和WebKit)_第1张图片
直接拖到form里,具体怎么用,想了想肯定是方法可以直接调着用的,去查了下,果然基本浏览器的功能的方法它都有。
webbrowser1.Navigate(string urlString) ; 给该控件设置要显示的网址
webbrowser1.GoBack(); 返回上个网页
webbrowser1.GoForward(); 前进
webbrowser1.Refresh(); 刷新
webbrowser1.Stop(); 停止

顺利显示后虽然功能没什么问题但是老跳一个报错。
【C# winform练习】利用控件实现浏览器功能的方法(webbrowser和WebKit)_第2张图片
这个东西其实是可以屏蔽的,将该控件的ScriptErrorsSuppressed 属性设置为true即可。
总之就是这个功能很简单的实现了。

WebKit

后来吧,用Webbrowser显示另一家gps地图定位的时候出现了一种情况,就是他们网页上的图标显示不全,但是在正常浏览器里是好的。这种情况导致的原因经查询是因为Winform自带的Webbrowser的内核是IE浏览器,并且版本较低,导致和他们的网页不兼容。为了避免这种情况,首先我想到的是更换Webbrowser的内核,折腾了一整天没什么用,还是没有解决这个问题。只好放弃,另寻他路,干脆直接放弃这个控件,使用被许多人推荐的WebKit——谷歌浏览器内核。

首先下载WebKit.Net。途径很多。
官网:http://webkitdotnet.sourceforge.net/
反正一搜一大堆。

然后复制bin目录下的所有文件到项目debug的目录下。
设置引用WebKitBrowser.dll

最后就可以用了。
代码:

		   browser = new WebKitBrowser();
      	   browser.Dock = DockStyle.Fill;
		   this.tabPage1.Controls.Add(browser);
		   browser.Navigate("www.baidu.com");

其实使用方法和webbrowser大同小异,写好之后就会发现,网页控件加载不全的问题就这么解决了!至于WebKit其他厉害之处还有待探索。

你可能感兴趣的:(C#)