WebBrowser控件斩掉屏幕下方的25%

时间:2016-09-16 08:30:24

标签: c# winforms webbrowser-control

这就是我的代码。我已尝试将WindowState作业移至Form1_Load程序,但这没有任何区别。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace TestApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            WindowState = FormWindowState.Maximized;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            webBrowser1.Url = new Uri("http://empire.goodgamestudios.com");
        }
    }
}

1 个答案:

答案 0 :(得分:0)

好的,想通了!

问题是

您的WebBrowser控件正在使用 IE 7 (默认情况下为 )来渲染页面,您导航到的页面。

<强>解决方案

您需要使用WebBrowser控件来使用最新版本的Internet Explorer 呈现页面(即;您计算机上安装的最新版本......一个 IE 11 ,问题将得到解决。

根据MSDN,值 - 11001 (0x2AF9)表示:

  

Internet Explorer 11.网页以IE11边缘模式显示,   无论declared !DOCTYPE directive如何。未能declare a !DOCTYPE directive导致页面加载Quirks。

步骤

您需要使用值 11001 (DWORD)设置为您的应用。

为此,请导航到注册表目录,如下所示:

HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
   SOFTWARE
      Microsoft
         Internet Explorer
            Main
               FeatureControl
                  FEATURE_BROWSER_EMULATION
                     WebBrowser_Test.vshost.exe = (DWORD) 11001 

创建一个新的,并将其命名为 WebBrowser_Test.vshost.exe ,如下图所示:

app.exe

注意: 根据您的应用名称更改前缀WebBrowser_Test

现在,将小数值 11001 添加到您创建的

下面的图片将清楚地表示上述内容:

DWORD

现在,运行您的应用,您应该能够看到WebBrowser控件不再被切断。

ain't chopped :)