2010-12-03 79 views
2

我正在使用嵌入式WebBrowser控件显示一些HTML内容的C#应用​​程序。我想测试安装IE9 http://windows.microsoft.com/ie9是否会影响我的应用程序。C#WebBrowser控件的起源

MSDN博客http://blogs.msdn.com/b/ie/archive/2008/03/18/webbrowser-control-rendering-modes-in-ie8.aspx指出WebBrowser控件默认为IE7呈现。但是,我想知道什么二进制实​​际上用于做IE7渲染。

我认为WebBrowser控件可以与包装:

  • 包含在Windows(例如,IE8的Windows 7)IE版本
  • 安装在Windows(如IE9)IE浏览器的最新版本
  • .NET运行时,我的应用程序使用.NET 2.0
  • Visual Studio中,我的应用程序是使用内置VS2008

这些是正确的?

回答

3

.net winforms webbrowser只是MSIE自己的浏览器控件(在shdocvw.dll中)的一个包装。如果你安装了IE8,它会使用IE8。如果你安装了IE9,它会使用IE9。由于某些愚蠢的原因,他们决定让它回落到IE7渲染模式。

您可以使用页眉中的元标记或使用注册表项覆盖该元素。请参阅MSIEs WebBrowser control hosted in winforms app runs in compatibility mode

+0

只需记住在应用程序关闭时将其恢复为原始状态,并添加还原到Windows加载以便您不会搞砸其他程序。 – Migol 2010-12-03 09:09:40