2017-03-14 2 views
0

Ich habe einen Webbrowser-Steuerelement in einem WinForm. Um den Webinhalt vollständig anzuzeigen (ohne Bildlaufleisten), muss ich die Größe des Webinhalts im DocumentComplete-Ereignis ermitteln. Und dann ändern Sie die Größe der Winform.Größe des Webbrowser-Steuerelements in DocumentCompleted ändern

void wbControl_DocumentCompleted(object sender, System.Windows.Forms.WebBrowserDocumentCompletedEventArgs e) 
    { 
     wbControl.Height = wbControl.Document.Window.Size.Height; 
     wbControl.Width = wbControl.Document.Window.Size.Width; 
    } 

Aber es wird nicht von hier eingestellt. Alte Werte bleiben gleich.

+1

Ist die Steuerung mit einem Dock von 'Fill'? Dann müssen Sie die Größe ändern, nicht das Steuerelement. – Sefe

+1

Ich habe eine Antwort hinzugefügt, Ihr Code funktionierte auch nicht für mich, aber meiner tut es. – EpicKip

Antwort

1

Wenn Document.Window.Size nicht den Trick macht, Document.Body.ScrollRectangle wird normalerweise für Sie arbeiten.

Ich habe eine gewisse Breite und Höhe hinzugefügt, wenn ich die Größe des Formulars ändere, da die Ränder des Formulars verändert werden. Wenn man nur das Steuerelement selbst verändert, muss man das nicht tun.

private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
{ 
    //If dockstyle = fill 
    this.Width = webBrowser.Document.Body.ScrollRectangle.Width + 40;//Border 
    this.Height = webBrowser.Document.Body.ScrollRectangle.Height + 40;//Border 
    //If the control is not docked 
    webBrowser.Size = webBrowser.Document.Body.ScrollRectangle.Size; 
} 
Verwandte Themen