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

时间:2017-04-01 13:21:37

标签: c# webbrowser-control

我有一个C#winForm应用程序,它使用webbrowser加载网站。一切都很好,但有些网站我在webbrowser的左边或右边有额外的空间。我在我的Windows中测试了所有浏览器(如IE和Chrome)上的网站链接,但没有人遇到此问题,只是我的应用程序出现此问题。帮助我找到解决方案并删除空间以使我的网站适合Web浏览器。日Thnx

1 个答案:

答案 0 :(得分: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();

只需将代码粘贴到应用程序的开头即可。 此外,请参阅此answer了解更多详情。

免责声明:该代码原本不是我的,无法找到它的参考。