Entwickler-Ecke

WinForms - Inhalt von WebBrowser wird erst beim zweiten Mal angezeigt


Scofield2011 - Sa 09.03.13 19:29
Titel: Inhalt von WebBrowser wird erst beim zweiten Mal angezeigt
Hallo,

in meiner Anwendung gibt es ein Verhalten, dass ich mir nicht erklären kann. Ich glaube da ist mal wieder ein Fachmann gefragt.

Vielleicht könnt ihr mir dabei ja weiter helfen.

Ich habe in meiner Anwendung zwei WebBrowser, die von einander unabhängig sind. Für beide gibt es einen Button, der ihnen sozusagen eine HTML Seite zuweist.

Ich habe dafür schon die beiden Ansätze ausprobiert:

C#-Quelltext
1:
            TestWebBrowser.Url = new Uri("test.htm");                    



C#-Quelltext
1:
            TestWebBrowser.Navigate("test.htm");                    


Beim ersten Mal funktioniert es immer erst, wenn ich das zweite Mal auf den Button klicke. Danach klappt es dann immer sofort.

Vielen Dank schon einmal im Voraus für eure Hilfe.

Scofield2011


Th69 - So 10.03.13 11:04

Hallo,

unter http://stackoverflow.com/questions/12897815/webbrowser-control-doesnt-populate-on-first-iteration-if-loading-two-controls steht beschrieben, daß dies wohl dann passiert, wenn man mehrere WebBrowser-Instanzen verwendet (scheint also ein Bug zu sein).
Als Lösung wird empfohlen explizit einmal im Konstruktor einen leeren String zu übergeben:

C#-Quelltext
1:
myBrowser.NavigateToString("");                    


Scofield2011 - So 10.03.13 20:57

Danke, das funktioniert zwar, führt aber zu seltsamen Nebenwirkungen.

Anstatt an der vorgesehenen Stelle erscheint der WebBrowser dann immer in der linken oberen Ecke (außerhalb des Forms).



Habe jetzt auch die Nebenwirkungen "abgestellt".