在IE9模式下,WebBrowser中的不需要的滚动条控制

时间:2012-02-15 13:11:15

标签: c# winforms internet-explorer webbrowser-control editmode

在编辑模式(WebBrowser control)中使用WinForms as described here,在将控件切换为“IE9 mode”时遇到不必要的滚动条。

我正在使用元标记

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

this posting中所述切换到编辑模式。

这是“IE9模式”时的样子:

enter image description here

相反,在没有上述元标记的情况下使用它时,它看起来正确如下:

enter image description here

在这里,它看起来像预期的那样;水平滚动条根本不存在,垂直滚动条无效。

我尝试了我能想到的每一个DOCTYPE;结果似乎保持不变。

(如果重要:正在切换到编辑模式的内容来自我的应用程序的内置迷你网络服务器的本地HTTP URL,即不是来自字符串或来自文件URL)。

我的问题是:

有没有办法在“IE9编辑模式”下使用IE9的WebBrowser控件,并且只在必要时仍然有滚动条?

1 个答案:

答案 0 :(得分:6)

Web浏览器控件中的滚动条由文档滚动设置决定,您可以使用overFlow样式将其关闭。

以下代码可以防止出现任何滚动条:

    private void button1_Click(object sender, EventArgs e)
    {
        dynamic doc = this.Browser.Document.DomDocument;
        dynamic body = this.Browser.Document.Body;
        body.DomElement.contentEditable = true;

        doc.documentElement.style.overflow = "hidden";
    }