WebBrowser, Warten bis Seite fertig geladen ist?

Fastkiller

Mitglied
Halli Hallo!

Ich habe da eine frage. Ich hab ne Applikation die auf eine Homepage zugreift wo man sich aber vorher zuerst einloggen muss. Das Einloggen etc klappt alles wunderbar.
Allerdings möchte ich das nun so realisieren, dass ichin meinem Programm Username + Passwort eingebe und einen Button drücke der mich dann zur Website weiterleitet.

Mein Problem ist jetzt folgendes:

Ich hab 2 Textfelder(Username+Passwort) und einen Button mit dem namen Login in meiner Applikation.
Wenn ich nun Login drücke dann sieht die fnktion vom Button so aus:

Code:
    webBrowser1.Url = new Uri("http://url blablabla ....");
    webBrowser1.Refresh();

    for (int i = 0; i < webBrowser1.Document.Forms.Count; i++)
    {

      HtmlElement element = webBrowser1.Document.Forms[i].All["do"];
      webBrowser1.Document.All["login"].SetAttribute("value", textBox2.Text);
      webBrowser1.Document.All["password"].SetAttribute("value", textBox3.Text);
      webBrowser1.Document.Forms[i].InvokeMember("submit");

     }

d.h. ich rufe zuerst die Webiste auf und will mich danach mit den Login daten einloggen. Das funktioniert abernicht da er die Website noch nichtmal fertig geladen hat und es kommt zu einer Exception.

D.h. Wie kann ich abfragen, dass wenn die Seite fertig geladen hat, die attribute ausfüllt und auf login drückt.

Ich hoffe ihr versteht was ich meine =)

Danke schonmal!

PS: Ich hätte da eine Provisorische lösung indem ich Wenn ich die Form lade die Seite aufrufe. So ist die seite bereits geladen wenn ich auf den Login button drücke. Allerdings ist das nicht wirklich toll wenn gleich ne internet verbindung hergestellt wird, wenn das Programm nur geöffnet wurde.

mfg,
fastkiller
 
Zuletzt bearbeitet:
Es gibt da ein Event das heißt DocumentCompleted. Es wird, wie der Name schon sagt, aufgerufen, wenn das Dokument vollständing geladen wurde. Da sollte dein Code funktionieren.
 
Danke für deine Antwort allerdings wird das jedesmal aufgerufen wenn die seite neu geladen wird, das will ich ja nicht ich will ja nur das erste mal bei einer gewissen seite warten und nicht bei allen.. hmm
 
Zurück