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

C# 是否可以像WebView一样在Windows窗体中嵌入Gecko或Webkit?,c#,.net,winforms,webkit,gecko,C#,.net,Winforms,Webkit,Gecko,我很想知道是否有Gecko.NET;)我的意思是,就像我们可以在任何Windows窗体应用程序中嵌入WebView和IE7的“实例”(并告诉它navigateto(fancy_url);)。我想使用Firefox或WebKit 有人试过这个吗 更新:请记住,尽管可以使用上述控件嵌入Gecko,但在使用Gecko时仍无法打印 2010年3月更新:仍然不可能使用GeckoFX以本机方式打印,但是根据您的尝试,有几种方法可能就足够了。 有关更多信息,请参阅 2013年10月更新:我不再从事Window

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

有人试过这个吗

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

2010年3月更新:仍然不可能使用GeckoFX以本机方式打印,但是根据您的尝试,有几种方法可能就足够了。 有关更多信息,请参阅

2013年10月更新:我不再从事Windows开发,因此我对此不感兴趣,但Gecko的开发似乎可以在这里找到:而且似乎是最近更新的。将此保留在此处供未来的Windows开发人员使用;)

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

要直接引用电子邮件:

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

  • DotNetBrowser基于Chromium,因此支持HTML5、CSS3、JS和最新的web标准。库的基础Chrome版本定期更新
  • 该组件适用于WPF和Windows窗体桌面应用程序,适用于C#和VB.NET
  • 图书馆是商业许可的,但是开源和学术项目提供免费许可

  • 免责声明:我没有使用此DotNetBrowser,因为我不再从事Windows开发,但如果您正在寻找解决方案,则可能值得检查。

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


    我相信这是与Firefox打包的。如果没有,您也可以从Mozilla获得可嵌入的位。只要在谷歌上搜索Mozilla ActiveX控件或Mozilla Embedded C#,你就会走上正确的道路。

    此外,如果你发现自己使用的是Gtk而不是Windows.Forms,那么就可以使用webkit sharp的tarball,它可以方便地将Web视图嵌入Gtk应用程序。

    @Martin:是的,亚当·洛克的版本已经过时了。但这是因为没有必要单独分发。它现在是用Mozilla代码库的其余部分构建的

    如果下载Prism(即XulRunner),这将为您提供一个基础,您可以根据自己的需要进行自定义,其中包括该控件的最新版本(在\Prism\XulRunner目录中,您可以找到mozctlx.dll)

    @格雷格:实际上,它是一个ActiveX控件。顺便说一句,所有ActiveX控件都是COM控件。ActiveX是建立在COM上的。

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

    我相信“Gecko FX”[1]正是您所需要的

    从网站上引用

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


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

    geckofx不再更新。另一种选择是Se7en Soft提供的。MozNet有大量GeckoFX没有的功能,正在积极更新和维护。

    我想指出,对于所有希望将Gecko嵌入其应用程序的人来说,GeckoFX项目似乎已经被其创建者(Skybound软件)抛弃了。MozNET以前是基于GeckoFX的,sorta“拿起球,带着它跑。”。它具有打印、打印预览的全部功能,并允许您通过本机Windows打印对话框进行设置,甚至-以及更多的功能。看看这里(OpenWebKitSharp部分):

    截至2011年10月30日,自上一篇文章发布以来,有新的信息需要添加。具体地说,虽然Skybound停止了对其版本的维护,但至少有一个主动维护的、免费的、开源的fork可用

    我使用的是BitBucket,凭借其解析XpCom IDL并创建c#wrappers的工具,它可以快速更新,支持每一个新版本的Firefox/Gecko


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

    2016年更新:

    一个.Net组件,可用于将Firefox引擎集成到.Net应用程序中。这是基于Geckofx的,但与当前版本不同,它将与Firefox的正常版本一起工作。要使用Geckofx,您需要自己构建Firefox。同样,商业支持可用,但组件本身是完全开源的


    (充分披露:我在这家公司工作,所以我所说的一切都要谨慎)

    下面的答案应该是答案。GeckoFX是一个更新的.NET包装器,ActiveX控件自2005年以来从未更新过。MozNet的EULA与LGPL相矛盾,因此它是非法的。更糟糕的是,现在已经没有免费的演示了。不太可能有人会购买IE插件组件的替代品,他们可以验证它是否能够执行任何你无法用它完成的任务