Hui,
ich habe eine kleine Frage.
Und zwar habe ich folgenden Code:
internal System.Net.WebClient dl = new System.Net.WebClient();
public frm_Main()
{
InitializeComponent();
}
private void frm_Main_Load(object sender, EventArgs e)
{
if (File.Exists("Jet_Podz.zip"))
File.Delete("Jet_Podz.zip");
dl.DownloadFileAsync(new Uri("http://gamez64.net/downloads/games/Jet_Podz_Final.zip"), "Jet_Podz.zip");
}
private void dl_DownloadProgressChanged(object sender, System.Net.DownloadProgressChangedEventArgs e)
{
MessageBox.Show("blah");
}
private void dl_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
MessageBox.Show("Test");
}
Es sollte also ständig eine MessageBox angezeigt werden. Dies passiert aber nicht. Wieso?
Hallo, weil du bei deinem WebClient nicht das Event verknüpfst mit +=.
Gruß Kaji
Kaji und Jack haben schon die richtige Antwort gegeben. Ich ergänze: Was hat das Problem mit void zu tun? Jürgen
Aha, danke für den Tipp 😃
Und wie mache ich das?
Edit: joa, ich dachte halt das hängt irgendwie damit zusammen.
Aha, danke für den Tipp 🙂
Und wie mache ich das?
:rtfm: Beispiel zum WebClient.DownloadProgressChanged-Ereignis (und sicher auch noch an anderen Stellen)
Außerdem ist das eine Grundfrage, wie mit Ereignissen umzugehen ist. Das geht also schon sehr in Richtung fehlende Grundlagen. 🛈 📗
Jürgen
Hab jetzt das gefunden: MSDN: Verknüpfen von Ereignissen mit IntelliSense (C#)
Hier mein Code
dl.DownloadFileCompleted += new EventHandler(dl_DownloadFileCompleted);
Jedoch kommt immer eine Fehlermeldung:
Fehler 1 Keine Überladung für "dl_DownloadFileCompleted" stimmt mit dem Delegaten "System.EventHandler" überein. C:\Dokumente und Einstellungen\Benutzer1\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\DManager\Form1.cs 23 41 DManager
Das mit der Tab-Taste funktioniert bei mir nicht.
Hallo haiyyu,
deine Methode, die du dem Event zuweist, muss dieselbe Signatur aufweisen, wie sie das Event vorsieht. Da es sich hier um einen AsyncCompletedEventHandler handelt, muss deine Methode folgendermaßen aussehen:
public void CompletedHandler(object sender, AsyncCompletedEventArgs e)
Das sind schon arge Grundlagen. Nur so nebenbei...
Gruß Michbeck1983
Neulich im Computerkurs:
Mein Computer kennt Else nicht! 😁
[URL]XING-Profil[/URL]