黄聪:在.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; |
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; |
And add this one line to the form load event handler:
private void Form1_Load(object sender, EventArgs e) |
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:

黄聪:在.NET中使用GeckoFX 29的更多相关文章
- 黄聪:AngularJS中的$resource使用与Restful资源交互(转)
原文:http://blog.csdn.net/he90227/article/details/50525836 1.AngularJS中的 $resource 这个服务可以创建一个资源对象,我们可以 ...
- 转载: 黄聪:C#中 Excel列字母与数字的转换
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 黄聪:C#中HtmlAgilityPack判断是否包含或不包含指定的属性或值
//选择不包含class属性的节点 var result = node.SelectNodes(".//span[not(@class)]"); //选择不包含class和id属性 ...
- 黄聪:HtmlAgilityPack中SelectSingleNode的XPath和CSS选择器
XPath和CSS选择器 原文:http://ejohn.org/blog/xpath-css-selectors 最近,我做了很多工作来实现一个同时支持XPath和CSS 3的解析器,令我惊讶的是: ...
- 黄聪:wordpress中PHP运行错最有效解决办法Fatal error: Out of memory (allocated 6029312)(转)
近日在升级wordpress 3.2.1和若干插件的过程中,发现了一个wordpress的错误:Allowed memory size of XXX bytes exhausted Fatal err ...
- 黄聪:C#中CefSharp的简单使用
C#中CefSharp的简单使用 https://blog.csdn.net/qq_26712977/article/details/78282995
- 黄聪:bootstrap中模态框modal在苹果手机上会失效
bootstrap中模态框在苹果手机上会失效 可将代码修改为<a data-toggle="modal" data-target="#wrap" hre ...
- 黄聪:C#中WebClient自动判断编码是UTF-8还是GBK,并且有超时判断功能
public class WebDownload : WebClient { private int _timeout; /// <summary> /// 超时时间(毫秒) /// &l ...
- 黄聪:wordpress中remove_action、add_action、 do_action()的hook钩子都有哪些
原文地址:http://codex.wordpress.org/Plugin_API/Action_Reference muplugins_loaded After must-use plugins ...
随机推荐
- ecshop常见sql注入修复(转)
ecshop系统部署在阿里云服务器上,阿里云提示Web-CMS漏洞: 修复方法如下: 0. /good.php 大概在第80行 $goods_id = $_REQUEST['id']; 修改为 $go ...
- [error]OpenCV Error: Assertion failed (ssize.width > 0 && ssize.height > 0) in resize, file modules/imgproc/src/resize.cpp, line 3289
error OpenCV Error: Assertion failed (ssize.width > && ssize.height > ) terminate call ...
- 【CSP】字符与int
[转自https://yq.aliyun.com/articles/19153] WIKIOI-1146 ISBN号码 光仔december 2014-03-01 16:20:00 浏览479 评 ...
- 杜教BM【转载】
https://blog.csdn.net/qq_36876305/article/details/80275708 #include <bits/stdc++.h> using name ...
- 踩坑tomcat8.5的cookie机制
https://www.pomelolee.com/1601.html tomcat升级到8.5版本 发现登录和退出报错,报错日志为下 [http-nio-8080-exec-20] 2016 Aug ...
- SVN三种合并类型
https://blog.csdn.net/zht666/article/details/36178117 转自:http://wenku.baidu.com/link?url=pnALYESJnX0 ...
- 【java规则引擎】《Drools7.0.0.Final规则引擎教程》第4章 4.4 约束(Pattern的一部分)
4.4.3 约束(Pattern的一部分) 前面我们已经介绍了条件约束在Pattern中位置了,那么什么是条件约束呢?简单来说就是一个返回true或者false的表达式,比如下面的5小于6,就是一个约 ...
- MySQL数据库的学习
------------------------------------- 管理数据库PS: Mysql的管理 主要是包括 用户的管理. show........各种的信息 SHOW COLUMN ...
- MySQL之高可用MHA部署
先说一下大概原理 虚拟机A ip为10.0.3.92 作为master 虚拟机B ip为10.0.3.102 作为slave1 虚拟机C ip为10.0.3.103 作为 ...
- <--------------------------StringBuffer的常用方法------------------------------>
StringBuffer定义: 是可变字符数组,是线程安全的可变字符序列. StringBuffer和String的区别: String是一个不可变的字符序列. 实例: public class St ...