是否可以像在WebView中一样在Windows窗体中嵌入Gecko或Webkit?

时间:2008-08-25 14:45:27

标签: c# .net winforms webkit gecko

我很想知道是否有像Gecko.NET这样的东西;)我的意思是,就像我们可以在任何Windows窗体应用程序中嵌入一个WebView并且它是IE7的“实例”(并告诉它)到navigateto(fancy_url);)。我喜欢使用Firefox或WebKit。

有人试过这个吗?

更新:请注意尽管可以使用上述控件嵌入Gecko,但使用Gecko时仍然无法打印

更新2010年3月:仍然无法使用GeckoFX本地打印,但是根据您尝试的内容,可能足够的几种方法存在做。 有关详细信息,请参阅:http://geckofx.org/viewtopic.php?id=796

2013年10月更新:我不再进行Windows开发,所以我对此没有兴趣,但似乎可以在这里找到Gecko的开发:https://bitbucket.org/geckofx它似乎最近更新。将此留给未来的Windows开发人员;)

2017年1月更新:我收到了一家名为TeamDev的公司发来的电子邮件。他们创建了一个名为“DotNetBrowser”的基于Chromium的.NET浏览器组件,可用于在Windows窗体应用程序中显示现代网页。

直接引用电子邮件:

  

以下是有关该组件的一些详细信息,可能会有所帮助:

  1. DotNetBrowser基于Chromium,因此支持HTML5,CSS3,JS和最新的Web标准。库的基础Chromium版本会定期更新。
  2. 该组件适用于WPF以及Windows Forms桌面应用程序,适用于C#和VB.NET。
  3. 图书馆已获得商业许可,但为开源和学术项目提供免费许可。
  4. 免责声明: 我没有使用过这个DotNetBrowser,因为我不再进行Windows开发,但如果您正在寻找解决方案,可能值得一试。

10 个答案:

答案 0 :(得分:47)

http://code.google.com/p/geckofx/

这是一个很好的.NET包装版本的Gecko

答案 1 :(得分:10)

当然有可能。您需要做的就是注册Mozilla ActiveX控件(我相信mozctlx.dll),您可以将它作为任何ActiveX控件拖到您的表单上。编程接口与IE编程接口类似(尽管不完全相同),在某些情况下甚至可以使用Microsoft.MSHTML.dll管理库进行控制。

我相信这是与Firefox一起打包的。如果没有,你也可以从Mozilla获得可嵌入的位。只需谷歌搜索Mozilla ActiveX控件或Mozilla嵌入C#,这应该会带你走正确的道路。

答案 2 :(得分:9)

GeckoFX不再更新。另一种选择是Se7en Soft的MozNet XulRunner wrapper。 MozNet有许多功能,GeckoFX没有这些功能,并且正在积极更新和维护。

答案 3 :(得分:8)

我想指出,对于所有希望将Gecko嵌入其应用程序的人来说,GeckoFX项目似乎已被其创建者(Skybound Software)抛弃。 MozNET,虽然之前基于GeckoFX,但是他们拿起球并用它跑了。它具有完整的打印能力,打印预览,并允许您通过本机Windows打印对话框进行设置,甚至 - 以及更多

答案 4 :(得分:4)

OpenWebKitSharp是WebKit引擎的一个包装器(每晚),非常先进。看看这里(OpenWebKitSharp部分):http://code.google.com/p/open-webkit-sharp/

答案 5 :(得分:4)

2016年更新:

BrowseEmAll.Gecko

.Net组件,可用于将 Firefox引擎集成到.Net应用程序中。这基于Geckofx,但与当前版本的Geckofx不同,这将适用于Firefox的正常发布版本。要使用Geckofx,您需要自己构建Firefox。再次商业支持可用但组件本身完全开源

(完全披露:我为这家公司工作,所以把我所说的一切都拿走了)

答案 6 :(得分:3)

@Martin:是的,Adam Locke版已经过时了。但那是因为没有必要单独分发。它现在与Mozilla代码库的其余部分一起构建。

如果您下载Prism(即XulRunner),它将为您提供一个可根据您的需求自定义的基础,这包括最新版本的控件(在\ Prism \ xulrunner目录中,您将找到mozctlx .DLL)。

@Greg:实际上,它是一个ActiveX控件。顺便提一下,所有ActiveX控件都是 COM控件。 ActiveX建立在COM上。

答案 7 :(得分:3)

截至2011年10月30日,自上次发布以来,有新的信息需要添加。具体来说,虽然Skybound停止维护他们的版本,但至少有一个主动维护,免费,开源的分支可用。

我在BitBucket上使用Hindle's fork,凭借他解析XpCom idls并创建c#包装器的工具,它可以快速更新,支持每个新版本的Firefox / Gecko。

有关其他选择的概述,请参阅this post

答案 8 :(得分:1)

此外,如果你发现自己使用的是Gtk而不是Windows.Forms,那么可以使用webkit-sharp的tarball,它可以轻松地将WebView嵌入到Gtk#应用程序中。

答案 9 :(得分:1)

我相信“Gecko FX”[1]是你需要的东西。

从网站引用

“”” GeckoFX是一个用简洁的注释C#编写的Windows窗体控件,它将Mozilla Gecko浏览器控件嵌入到任何Windows窗体应用程序中。它还包含一个简单的类模型,提供对HTML和CSS DOM的访问。 “”“

1)我无法发布链接“新用户不允许添加超链接”在Google代码上搜索“geckofx”。