如何从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了解更多详情。
免责声明:代码不是本来是我的,找不到对它的引用。