如何从C#中的winform webbrowser中删除额外的空间#

问题描述:

我有一个使用webbrowser加载网站的C#winForm应用程序。所有的东西都很好,但有些网站在浏览器的左侧或右侧有额外的空间。我在我的窗口中测试了所有浏览器(如IE和Chrome)上的链接,但没有人遇到这个问题,只是我的应用程序出现了这个问题。帮助我找到解决方案,并删除空间,以适应我的网站浏览器。 thnx如何从C#中的winform webbrowser中删除额外的空间#

WebBrowser控制在WinForms默认情况下使用IE的传统版本。 (IE7)

这很可能是您的问题的原因,要解决它,您必须在Windows注册表中强制WebBrowser仿真更高版本,例如IE11。

这是一段代码,我用通过检测当前安装的IE版本,并在注册表中更新它这样做:

   int BrowserVer, RegVal; 

      // get the installed IE version 
      using (WebBrowser Wb = new WebBrowser()) 
       BrowserVer = Wb.Version.Major; 

      // set the appropriate IE version 
      if (BrowserVer >= 11) 
       RegVal = 11001; 
      else if (BrowserVer == 10) 
       RegVal = 10001; 
      else if (BrowserVer == 9) 
       RegVal = 9999; 
      else if (BrowserVer == 8) 
       RegVal = 8888; 
      else 
       RegVal = 7000; 

      // set the actual key 
      RegistryKey Key = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", true); 
      Key.SetValue(System.Diagnostics.Process.GetCurrentProcess().ProcessName + ".exe", RegVal, RegistryValueKind.DWord); 
      Key.Close(); 

只需在您的应用程序的beggining粘贴代码。 此外,请参阅此answer了解更多详情。

免责声明:代码不是本来是我的,找不到对它的引用。