2017-04-01 111 views
0

我有一個使用webbrowser加載網站的C#winForm應用程序。所有的東西都很好,但有些網站在瀏覽器的左側或右側有額外的空間。我在我的窗口中測試了所有瀏覽器(如IE和Chrome)上的鏈接,但沒有人遇到這個問題,只是我的應用程序出現了這個問題。幫助我找到解決方案,並刪除空間,以適應我的網站瀏覽器。 thnx如何從C#中的winform webbrowser中刪除額外的空間#

回答

1

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瞭解更多詳情。

免責聲明:代碼不是本來是我的,找不到對它的引用。

相關問題