2012-02-15 12 views
6

Utilizzo dei WinForm WebBrowser control in modalità di modifica (as described here), si verificano barre di scorrimento non necessarie quando si passa il controllo in "IE9 mode".Barre di scorrimento indesiderate nel controllo WebBrowser in modalità IE9

sto usando il meta tag

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

come descritto in this posting per passare alla modalità di modifica.

Questo è come sembra quando è in "modalità IE9":

enter image description here

Al contrario, quando si utilizza senza il meta tag di cui sopra, sembra correttamente in questo modo:

enter image description here

Qui sembra come previsto; la barra di scorrimento orizzontale non è affatto presente e la barra di scorrimento verticale non è attiva.

Ho provato ogni DOCTYPE a cui riesco a pensare; il risultato sembra essere lo stesso.

(Nel caso in cui sia importante: il contenuto che viene convertito in modalità di modifica proviene da un URL HTTP locale del mini server web integrato della mia applicazione, cioè non da una stringa o da un URL di file).

La mia domanda è:

C'è un modo per utilizzare il controllo WebBrowser con IE9 in "modalità di modifica IE9" e hanno ancora le barre di scorrimento solo quando è necessario?

+0

sai già come utilizzare la proprietà designMode. Qual è il punto di evitarlo? –

risposta

5

Le barre di scorrimento nel controllo del browser Web sono determinate dalle impostazioni di scorrimento del documento ed è possibile utilizzare lo stile overFlow per disattivarlo.

Il seguente codice funziona per me nel prevenire eventuali barre di scorrimento ad apparire:

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"; 
    }