[Visual Basic]WebBrowser Readystate Frage

05/01/2013 19:03 .Dêvile-#1
Hallo,

ich habe da ein Problem mit der ReadyState Funktion im WebBrowser.

Ich benutze den Code:

Code:
If WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then
          //Code
        End If
Aber das funktioniert nicht. Ich weis auch nicht warum. Kann mir da einer helfen?

MfG, Son~Goku.
05/01/2013 20:27 Kraizy​#2
Wo benutzt du die If-Abfrage denn?
05/02/2013 02:46 #SoNiice#3
Was ist mit dem DocumentCompleted Event?
05/02/2013 11:07 dready#4
Vorsichtig damit, ich prophezei dir schon jetzt kopfschmerzen ;)

Die States und auch das DocumentComplete Event werden gesetzt sobald der erste Frame geladen ist, was heute nahezu IMMER passiert bevor die gesammte Seite geladen ist.

Sollte ich was falsch im Kopf haben sorry, aber glaub das war so ;)
05/02/2013 16:39 #SoNiice#5
In C# hatte ich noch nie ein Problem.
05/02/2013 20:16 .Dêvile-#6
Habs geschafft ^^ Zwar nicht mit ner If-Abfrage sondern so:

Code:
        While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete
            Application.DoEvents()
        End While
        //Code, was nach dem Fertigladen passieren soll.
05/02/2013 20:48 Kraizy​#7
Bitte lösch den Code..
05/02/2013 21:22 .Dêvile-#8
Warum? 0o
05/03/2013 02:35 #SoNiice#9
Weil man DoEvents nicht in einer Schleife ausführt.

Ich empfehle dir immer noch das DocumentCompleted Event mit einer Abfrage im Inneren, damit dies nicht mehrfach oder gar falsch ausgeführt wird.

Code:
Private Sub DocumentCompleted(sender As Object, e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
If e.Url.ToString = "seite_auf_die_gewartet_wird.com" Then
    'hier deine neuen commands
End If
End Sub
Ich hoffe, dass das soweit richtig ist - wie gesagt, bin normale reiner C#-Programmierer.
05/03/2013 02:43 qkuh#10
ToString ist eine Methode. Bitte die () verwenden :)
05/03/2013 05:39 #SoNiice#11
Entschuldige, dass der blöde Onlineübersetzer diese entfernt hat.
05/03/2013 08:36 .Dêvile-#12
Quote:
Originally Posted by SoNiice View Post
Weil man DoEvents nicht in einer Schleife ausführt.

Ich empfehle dir immer noch das DocumentCompleted Event mit einer Abfrage im Inneren, damit dies nicht mehrfach oder gar falsch ausgeführt wird.

Code:
Private Sub DocumentCompleted(sender As Object, e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
If e.Url.ToString = "seite_auf_die_gewartet_wird.com" Then
    'hier deine neuen commands
End If
End Sub
Ich hoffe, dass das soweit richtig ist - wie gesagt, bin normale reiner C#-Programmierer.
Ich versuchs nach der Schule mal, danke dir.