經(jīng)歷了webbrowser 內(nèi)存溢出 排版錯誤等各種問題 終于找到了一個解脫模式,就是使用firefox內(nèi)核的現(xiàn)階段代替webbrowser最好的控件了。
在winform程序中,要在程序中展示一個web頁面,最常用的就是.net自帶的webbrowser,但是大家都知道它是IE,也知道IE是有多么強(er)大(bi)。而且微軟已經(jīng)宣布了IE的死亡。。。默哀1秒鐘,繼續(xù)正文
那么如何使用firefox呢?只需兩步:
1、添加引用:Geckofx-Core、Geckofx-Winforms;圖1
2、把xulrunner放在你項目的bin目錄下;圖2
圖1
圖2
上面兩個資源的下載地址:https://bitbucket.org/geckofx/geckofx-33.0/downloads
ftp://ftp.mozilla.org/pub/xulrunner/releases/33.0/runtimes/
但是要注意一點:geckofx的版本要和xulrunner的版本對應(yīng),不然會有問題。xulrunner是firefox官網(wǎng)提供的,有最新版本,但是geckofx版本相對落后一些,但是也更新到了33.0版本,對應(yīng)firefox的發(fā)布時間是2014年10月份,應(yīng)該也夠用了。
當把前面的資源配置好后,接下來就是調(diào)用api的活了,非常簡單,上一段簡單的代碼。
新建一個winform程序,然后在默認的form1.cs文件中加入以下代碼。
public partial class Form1 : Form { private readonly string xulrunnerPath = Application.StartupPath + "/xulrunner"; private const string testUrl = "https://www.alipay.com/"; private GeckoWebBrowser Browser; public Form1() { InitializeComponent(); Xpcom.Initialize(xulrunnerPath); } private void Form1_Load(object sender, EventArgs e) { Browser = new GeckoWebBrowser(); Browser.Parent = this; Browser.Dock = DockStyle.Fill; Browser.Navigate(testUrl); } }
vb.net代碼:
Public Class Form1 Inherits Form Private xulrunnerPath As String = (Application.StartupPath + "/xulrunner") Private Const testUrl As String = "https://www.alipay.com/" Private Browser As GeckoWebBrowser Public Sub New() MyBase.New InitializeComponent Xpcom.Initialize(Me.xulrunnerPath) End Sub Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Me.Browser = New GeckoWebBrowser Me.Browser.Parent = Me Me.Browser.Dock = DockStyle.Fill Me.Browser.Navigate(testUrl) End Sub End Class
OK,運行項目你將會看到支付寶的首頁。
如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答!! 點擊進入論壇