Fortschritt eines BGW in Progressbar anzeigen

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von DarkestMan.

    Fortschritt eines BGW in Progressbar anzeigen

    Hallo,


    Ich habe schon ein paar Threads durchsucht doch finde ich zu meinem Problem nichts :D

    Also:

    Ich habe einen BackGroundWorker, Button und eine Progressbar und ein paar Textboxen(Die sind nicht Wichtig)

    Ich will das der Backgroundworker mehrere Textdokumente Runterlädt und er sie dann in die Textboxen lädt also z.b Textdokument1 in Textbox1 usw. und nach diesem Vorgang soll er die Textdokumente wieder Löschen ! Das Funktioniert ja schon mal doch jetzt will ich diesen Vorgang in einer Progressbar anzeigen lassen aber wie mache ich das ?

    Bitte um Hilfe

    Mfg
    Du brauchst vermutlich keinen Bgw sondern dir könnte ein WebClient reichen.
    Dieser hat sowohl ein Event DownloadProgressChanged, als auch eine Methode .DownloadFileAsync.

    Gruss Mono
    Das ist meine Signatur und sie wird wunderbar sein!

    Manschula schrieb:

    der BGW bietet die Funktion 'WorkerReportsProgress'. Schau dir dazu mal diesen grundsätzlichen Aufbau an: [VB 2008] Backgroundworker
    Hallo,

    Ich hab diesen Thread schon angeschaut aber ich weiß ned was ich da rein schreiben soll:

    VB.NET-Quellcode

    1. bgw.ReportProgress (...) ' Was muss da : (...) rein ?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „DarkestMan“ ()

    am besten 0 ... 100, jedenfalls das, was die Gegenseite versteht.
    Diesen Wert kann man dann einfach so einer ProgressBar als Value zuordnen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Genau so.
    Fange an und schreib da zum Testen rein:

    VB.NET-Quellcode

    1. For i = 1 to 100
    2. bgw.ReportProgress(i)
    3. Thjreading.Sleep(50)
    4. Next
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Den fortschritt musst du natürlich berechnen können. Beispiel: Du hast 35 dateien zu löschen, du hast grade die 12. datei entfernt und lässt den BGW seinen Fortschritt melden. Wie sieht die Rechnung aus?

    12 / 35 = 0.34
    0.34 ist also ein Wert zwischen 0 und 1, der beschreibt wieviel abgearbeitet ist. Da du eine Zahl zwischen 0 und 100 haben willst machst du einfach:

    Wert = 0.34 * 100 = 34

    Diese Zahl (also 34) übergibst du und kannst sie im ProgressChanged-Event auslesen um z.B. eine Progressbar damit zu füttern.

    FreakJNS schrieb:

    Den fortschritt musst du natürlich berechnen können. Beispiel: Du hast 35 dateien zu löschen, du hast grade die 12. datei entfernt und lässt den BGW seinen Fortschritt melden. Wie sieht die Rechnung aus?
    Also ich habe um genauzusein 1 Datei

    Also der Vorgang soll so aussehen


    > Wird überprüft ob Datei existiert
    > Wenn Datei Existiert alte Datei Löschen und neue Datei herunterladen / Wenn nicht Existiert neue Datei runterladen


    Wie muss ich das dann berrechnen ? :D Checks ned sry ^^