Datei mit Backgroundworker herunterladen

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von DrVisualBasic.

    Datei mit Backgroundworker herunterladen

    Hallo Zusammen,
    im folgenden mein Code, mit dem ich derzeit eine bestimmte Datei aus dem Internet herunterlade. Klappt auch alles super... Allerdings hängt sich die Form immer kurzfristig auf und es dauert ein paar Sekunden bis der Download dann beginnt... Je nach größe der Datei die heruntergeladen werden soll.

    Jetzt wollte ich den Download via Backgroundworker realisieren. Jetzt ist meine Frage wie ich den Downloadstatus vom Webclient auch über einen B.W. auf meine Progressbar übergeben kann?? Direkt funktioniert es ja nicht mehr, da dies Thread übergreifend wäre. Habe von einer Invoke Methode gelesen, allerdings hat nichts davon funktioniert! Bitte helft mir!!

    VB.NET-Quellcode

    1. Dim WithEvents client As New Net.WebClient
    2. 'DER SUB
    3. Try
    4. client.DownloadFileAsync(New Uri(sAdress), "C:\test.mp3", True)
    5. Catch ex As Exception
    6. MsgBox("Fehler beim herunterladen der Datei", MsgBoxStyle.Critical, "")
    7. End Try
    8. 'SUB ENDE
    9. 'Fortschritt:
    10. Private Sub client_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles client.DownloadProgressChanged
    11. ProgressBar1.Value = e.ProgressPercentage
    12. End Sub