6

WinFormsWebBrowserコントロールを編集モード (ここで説明) で使用すると、コントロールを「 IE9 モード」に切り替えるときに不要なスクロールバーが表示されます。

メタタグを使用しています

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

この投稿で説明されているように、編集モードに切り替えます。

これは、「IE9 モード」のときの様子です。

ここに画像の説明を入力

対照的に、上記のメタ タグなしで使用すると、正しくは次のようになります。

ここに画像の説明を入力

ここでは、期待どおりに見えます。水平スクロールバーはまったく存在せず、垂直スクロールバーはアクティブではありません。

考えられるすべての DOCTYPE を試しました。結果は変わらないようです。

(重要な場合: 編集モードに切り替えられるコンテンツは、アプリケーションの組み込みミニ Web サーバーのローカル HTTP URL から取得されます。つまり、文字列やファイル URL からではありません)。

私の質問は:

WebBrowser「IE9編集モード」でIE9でコントロールを使用し、必要な場合にのみスクロールバーを表示する方法はありますか?

4

1 に答える 1

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";
    }
于 2012-02-26T22:04:19.487 に答える