2009-08-15 9 views
0

Ich versuche, dass meine Anwendung den Quellcode einer Website herunterlädt und die Informationen herausfiltert, die ich für meine Anwendung brauche.WebClient.DownloadString() lässt meine Anwendung während des "Downloads" des Quellcodes einfrieren

Alles ist gut und Dandy aber die Benutzeroberfläche erstarrt, bis meine Anwendung den Quellcode der Website heruntergeladen hat.

Wenn es irgendwo gibt kann ich Hilfe bekommen, das muss der Ort sein. :)

Hier ist der Code, der macht mich weinen:

public void LoadPlayersOnline() 
    { 
     WebClient WebClientClass = new WebClient(); 

     string SiteSource = WebClientClass.DownloadString("http://forums.chronic-domination.com/"); 
     int AlliancePos = SiteSource.IndexOf("Alliance"); 
     string AlliancePlayers = SiteSource.Substring((AlliancePos + 14), 3); 

     label5.Text = AlliancePlayers; 
    } 

Antwort

3

Sie werden höchstwahrscheinlich verwenden DownloadStringAsync wollen. Dann implementieren Sie die Ereignisse auf http://msdn.microsoft.com/en-us/library/system.net.webclient_events(VS.80).aspx DownloadCompleted.

http://msdn.microsoft.com/en-us/library/system.net.webclient.downloadstringasync(VS.80).aspx

+1

Nach dem angegebenen Link lesen kann ich nicht scheinen, um herauszufinden, wie man den „DownloadStringCallback“ benutzen? Was ist das? Danke für die Hilfe. –

+0

DownloadStringCallback kann jeder Rückruf-Methode sein, die ein Argument von DownloadStringCompletedEventArgs public static void DownloadStringCallback2 (Object sender, DownloadStringCompletedEventArgs args) { // Wird der Antrag wurde nicht abgebrochen und nicht werfen // eine Ausnahme hat, zeigen die Ressource. if (! Args.Cancelled && args.Error == null) { string textString = (string) args.Result; Console.WriteLine (textString); } } – jwendl

+1

Schlechter Stapelüberlauf ... Schauen Sie sich das Beispiel auf http://msdn.microsoft.com/en-us/library/system.net.downloadstringcompletedeventargs(VS.80).aspx an – jwendl

Verwandte Themen