在.NET中使用GeckoFX 29

简介:

GeckoFX is a .NET control, that works similarly to “System.Windows.Forms.WebBrowser” Control, while being cross platform, and offering much more control, it is in my opinion, a great replacement for the “System.Windows.Forms.WebBrowser”.

GeckoFX is based on the same engine as Firefox, the Mozilla Gecko.

This is an example on how to use it in Visual Studio.

This is a great replacement for Forms.WebBrowser control.

To get this working, you need to first download the GeckoFX from here:

https://bitbucket.org/geckofx/

During the writing of this, the last available version was the “GeckoFX-29.0”, so I downloaded that from here, if while you download this found a newer version, which is very likely, be careful to what XUL version you download on the next step:

https://bitbucket.org/geckofx/geckofx-29.0/downloads

and last revision:

https://bitbucket.org/geckofx/geckofx-29.0/downloads/GeckoFx-Windows-29.0-0.11.zip

After that, you need to download the XULRunner runtime from Mozilla website, it is very important that you download a version from here that matches the same version as the GeckoFX version.

Here is a version list that will help you know what XULRunner version you need:

https://bitbucket.org/geckofx/geckofx/wiki/Version_lists

And download from:
http://ftp.mozilla.org/pub/mozilla.org/xulrunner/

In my case, I downloaded version “29.0” from:
http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/29.0/runtimes/xulrunner-29.0.en-US.win32.zip

Extract the contents of the archive in the same folder as the executable, the same folder that has the WindowsFormsApplication1.exe, if you choose to extract to a different folder, be sure to modify the code to point to the new folder.

After that, start Visual studio, create a new C# Windows form project, and add refrences to both “Geckofx-Winforms.dll”, and “Geckofx-Core.dll” in the project refrences.

You may also need to add those line to the top of the file:

using Gecko;
using System.IO;
using System.Linq;
using System.Reflection;

And in the form constructor, you need to add some code to initiate the GeckoFX control, this code will be added after the “InitializeComponent()” function call, like this:

    GeckoWebBrowser browser;
    public Form1()
    {
        InitializeComponent();
 
        var app_dir = Path.GetDirectoryName(Application.ExecutablePath);
        Gecko.Xpcom.Initialize(Path.Combine(app_dir, "xulrunner"));
 
        browser = new GeckoWebBrowser();
 
        browser.Dock = DockStyle.Fill;
        this.browser.Name = "browser";
 
        this.Controls.Add(browser);
    }

And add this one line to the form load event handler:

    private void Form1_Load(object sender, EventArgs e)
    {
        browser.Navigate("http://www.wikipedia.org");
    }

Important Problem: you need to go to your project properties, and in the ‘build’ tab, change the platform target to x86 for (all configurations), instead of “Any CPU”.

Before running the application for the first time, do not forget that you need to extract the xulrunner in the “\bin\Debug” or “\bin\Release” folder.

This is the result:

GeckoFX-01




本文转自黄聪博客园博客,原文链接:http://www.cnblogs.com/huangcong/p/8177740.html,如需转载请自行联系原作者

相关文章
|
7月前
.NET - Scrutor
该文档介绍了Scrutor库的安装和使用。在命令行中,可以使用`NuGet\Install-Package Scrutor -Version 4.2.1`来安装。Scrutor提供了两个扩展方法给`ServiceCollection`:`Scan`和`Decorate`。`Scan`用于从指定程序集中扫描并批量注册符合规则(如以"Service"结尾的类)的服务,注册类型为其实现的接口,并设置为Scoped生命周期。`Decorate`则用于装饰已注册的服务。
|
存储 开发框架 IDE
【C#视频】C#与NET
【C#视频】C#与NET
|
算法 编译器 开发工具
|
网络协议
|
编解码 Linux 内存技术
|
网络协议