我正在使用System.Windows.Forms.WebBrowser处理C#.NET应用程序。
IE没有正确响应,因此我想更改为Mozilla Firefox。
我该怎么做?
答案 0 :(得分:7)
答案 1 :(得分:4)
我只是看着他们可能感兴趣的GeckoFX和WebKit.NET。如果你想改变默认的WebBrowser控件我不相信这是可能的。
答案 2 :(得分:3)
您需要将WebBrowser控件替换为此项目:http://code.google.com/p/geckofx/
答案 3 :(得分:2)
System.Windows.Forms.WebBrowser
只是ActiveX控件的托管包装器:SHDocVw.WebBrowser
。包装器并非没有错误,可能无法提供所需的可扩展性。如果您有可行的解决方案,我建议您不要使用System.Windows.Forms.WebBrowser
。
IE不是基于.Net所以你不能使用System.Windows.Forms.WebBrowser
来控制IE中的任何内容。事实上,我甚至不建议在.Net中连接BHO,因为只有一个版本的CLR可以在IE进程中运行,而你的BHO可以在意外版本的CLR上运行。
答案 4 :(得分:1)
不确定这是否可行/容易,但是mono使用Gecko#来实现其版本的System.Windows.Forms.WebBrowser。也许你可以重用它或从代码中删除一些可用的部分?
答案 5 :(得分:0)
使用System.Windows.Forms.WebBrowser控件无法实现此目的。似乎有办法将Gecko渲染引擎嵌入到WinForms应用程序中。
请参阅此问题:Replacing .NET WebBrowser control with a better browser, like Chrome?
答案 6 :(得分:0)
2016年更新:
我可以建议还有3个其他选项仍在积极开发中:
.Net组件,可用于将 Chrome引擎集成到.Net应用程序中。基于CefGlue,但对最新Chrome版本的更新速度要快一些。此外,还有一个商业支持选项,对某些人来说可能会派上用场。当然,组件本身是开源。
另一个.Net组件,可用于将 Firefox引擎集成到.Net应用程序中。这基于Geckofx,但与当前版本的Geckofx不同,这将适用于Firefox的正常发布版本。要使用Geckofx,您需要自己构建Firefox。再次商业支持可用但组件本身完全开源。
您的.Net应用程序需要所有不同的浏览器吗?您可以将BrowseEmAll核心API 集成Chrome,Firefox,Webkit和Internet Explorer 到您的应用程序中。这是商业产品,但请注意。
(完全披露:我为这家公司工作,所以把我所说的一切都拿走了)