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

How to remove extra space from winform webbrowser in C#

我有一个使用网络浏览器加载网站的 C# winForm 应用程序。一切都很好,但对于某些网站,我在网络浏览器的左侧或右侧有额外的 space。我在我的 windows 中测试了所有浏览器(如 IE)和 Chrome 上的站点 link,但没有人遇到这个问题,只有我的应用程序有这个问题。帮助我找到解决方案并删除 space 以使我的网站适合网络浏览器。谢谢

WinForms 中的 WebBrowser 控件默认使用旧版 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 了解更多详细信息。

免责声明:该代码不是我的原创,找不到对它的引用。