Нежелательные полосы прокрутки в элементе управления WebBrowser в режиме IE9 - PullRequest
6 голосов
/ 15 февраля 2012

При использовании элемента управления WinForms WebBrowser в режиме редактирования (, как описано здесь ), при переключении элемента управления в режим * IE9 возникают ненужные полосы прокрутки".

Я использую метатег

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

, как описано в этой публикации , чтобы переключиться в режим редактирования.

Вот какв «режиме IE9» это выглядит так:

enter image description here

Напротив, при использовании без метатега, приведенного выше, он выглядит правильно так:

enter image description here

Здесь все выглядит как ожидалось;горизонтальная полоса прокрутки отсутствует вообще, а вертикальная полоса прокрутки не активна.

Я пробовал все типы DOCTYPE, которые я могу себе представить;результат, кажется, остается прежним.

(В случае, если это имеет значение: содержимое, которое переключается в режим редактирования, поступает из локального HTTP-URL-адреса встроенного мини-веб-сервера моего приложения, т. Е. Не из строки или из URL-адреса файла).

Мой вопрос:

Есть ли способ использовать элемент управления WebBrowser с IE9 в «режиме редактирования IE9» и при этом иметь полосы прокрутки только при необходимости?

1 Ответ

6 голосов
/ 27 февраля 2012

Полосы прокрутки в элементе управления веб-браузера определяются настройками прокрутки документа, и вы можете использовать стиль 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";
    }
...