Benutzer mit den meisten Antworten
C#: While Schleife hängt sich auf!

Frage
-
Hallo,
ich habe folgendes Problem und bin schon langsam am verzeweifeln, habe das ganze Internet nach einer Lösung durchforstet und das Forum hier ist meine letze Hoffnung.
Also, ich habe einen Webbrowser der auf eine Webseite geht und dabei eine while schleife die den Status des webbrowser abfragt, um falls er fertig geladen hat den Code vorzuführen.
webBrowser1.Navigate(www.beispiel.de); while (webBrowser1.ReadyState != WebBrowserReadyState.Complete) { //Tue was, ohne das das Programm sich aufhängt... }
Sobald ich nur irgendwas in die Scheife schreibe, was er tun soll bis die fertig Seite geladen ist, hängt sich das Programm auf.
Also zb. eine Variable hochzählen, eine Progressbar hochzählen, irgendwas in einem Label ausgeben etc.
Bis jetzt war die einzige Möglichkeit Application.Doevents(); zu benutzen. Das Problem ist nur das nach ein paar Wiederholungen dabei mein CPU + RAM auf 100% hochgegangen sind und das Programm abstürzte und ich meinen Pc neustarten muss... (habe im Internet gelesen das mehrere das Problem bei Doevents haben).
Hat irgendjemand vielleicht eine Lösung für mich?
- Bearbeitet Robert BreitenhoferModerator Dienstag, 11. Oktober 2011 07:17 Formatierung
Antworten
-
Hi,
Bääääääääääääh :)
Schleifen, um irgendwas abzufangen, was irgendwann irgendwie irgenwo mal auftreten könnte, sind böse[TM]
Nimm die dafür vorgesehenen Events und reagiere dort:
http://msdn.microsoft.com/de-de/library/system.windows.forms.webbrowser.documentcompleted.aspx
...
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Robert BreitenhoferModerator Dienstag, 11. Oktober 2011 07:35
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 21. Oktober 2011 12:07
Alle Antworten
-
Hi,
Bääääääääääääh :)
Schleifen, um irgendwas abzufangen, was irgendwann irgendwie irgenwo mal auftreten könnte, sind böse[TM]
Nimm die dafür vorgesehenen Events und reagiere dort:
http://msdn.microsoft.com/de-de/library/system.windows.forms.webbrowser.documentcompleted.aspx
...
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Robert BreitenhoferModerator Dienstag, 11. Oktober 2011 07:35
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 21. Oktober 2011 12:07
-
Hallo csharp_freak,
Lies mal auch folgenden Artikel damit Du verstehst wie der Mechanismus funktioniert:
How To Determine When a Page Is Done Loading in WebBrowser Control
Grüße,
Robert
- Bearbeitet Robert BreitenhoferModerator Dienstag, 11. Oktober 2011 07:37 Hyperlink Korrektur