Das Problem ist, dass die MessageBox angezeigt wird, obwohl der WB noch nichts gemacht hat
Das glaube ich Dir nicht so ganz, zumindest nicht beim Annavigieren auf die Webseite http://beispiel.de:
VB.NET-Quellcode
WB.Navigate("http://beispiel.de")
While WB.ReadyState <> WebBrowserReadyState.Complete
Application.DoEvents()
EndWhile
MessageBox.Show("Test erfolgreich")
wartet brav bis die Seite zuende geladen ist. Was Du danach mit dem Annavigieren von Javascript versuchst, versteh ich eh nicht
Bei anderen Seiten gibt es manchmal merkwürdige Effekte durch AJAX (Javascript).
Durch das Javascript löse ich eine Aktion auf der Seite aus, die ich durch beispiel.de ersetzt habe. :p
Und es funktioniert einfach nicht, ich hab meinen Code mal auskommentiert und mit deinem ersetzt, deine MessageBox erscheint trotzdem am Anfang.
Ersetz du mal beispiel.de mit listen.grooveshark.com.
Ersetz du mal beispiel.de mit listen.grooveshark.com
Hab ich gemacht: die Seite baut (wie Ajax) extrem auf Javascript und die eigentliche Webseite ist eine reine Flash Anwendung.
Ich hab mal 1 Zeile Code eingebaut um zu sehen wie oft das DocumentCompleted Event ausgelöst wird, schau mal selbst:
VB.NET-Quellcode
PublicClass Form1
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
WB.Navigate("listen.grooveshark.com")
While WB.ReadyState <> WebBrowserReadyState.Complete
Application.DoEvents()
EndWhile
Trace.WriteLine("Test erfolgreich")
EndSub
PrivateSub WB_DocumentCompleted(ByVal sender AsObject, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WB.DocumentCompleted
Trace.WriteLine("Document Completed")
EndSub
EndClass
4Typen2Go hat mal in den Sourcecode AUstauschebereich ein Tabbed Webbrowse gepostet der das perfekt konnte!
Ich bezweifle, dass sein WebBrowser speziell um GrooveShark drumrum programmiert wurde.