Progressbar soll Fortschritt anzeigen

  • VB.NET

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

    Progressbar soll Fortschritt anzeigen

    Hallo Ihr lieben, stehe nun vor folgendem Problem.
    Ich würde gern, das die Progessbar parallel zur Datensicherung läuft und mir entsprechend den Fortschrittsbalken anzeigt.
    Leider ist es momentan so, das erst die Datensicherung läuft und hinterher die Progressbar 8|
    Könnt ihr mir wohl mal auf die Sprünge helfen?

    VB.NET-Quellcode

    1. Private Sub Btn_DatenSichern_Click(sender As Object, e As EventArgs) Handles Btn_DatenSichern.Click
    2. Timer1.Enabled = True
    3. ' Fortschritt.Enabled = True
    4. 'xxxxxxxxx Outlook sichern xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    5. Dim PstDatei = New IO.FileInfo("C:\Users\Administrator\Documents\Outlook-Dateien\xxxx")
    6. Dim Zielverzeichnis = "D:\OutlookMozillaSicherung"
    7. IO.Directory.CreateDirectory(Zielverzeichnis)
    8. If PstDatei.Exists Then
    9. PstDatei.CopyTo("D:\OutlookMozillaSicherung\xxxx", True)
    10. End If
    11. 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    12. 'xxxxxxxxx Mozilla sichern xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    13. If IO.Directory.Exists("C:\Users\xxxx\AppData\Roaming\Mozilla") Then
    14. My.Computer.FileSystem.CopyDirectory("C:\Users\xxxx\AppData\Roaming\Mozilla", "D:\OutlookMozillaSicherung", True)
    15. End If
    16. '########################################################
    17. MsgBox("Daten gesichert!")
    18. Me.Close()
    19. End Sub
    20. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    21. ProgressBar1.Increment(1)
    22. If ProgressBar1.Value = ProgressBar1.Maximum Then
    23. ProgressBar1.Value = ProgressBar1.Minimum
    24. Timer1.Enabled = False
    25. End If
    26. End Sub

    Schlimmer als ein Elefant im Porzellanladen, ist ein Igel in der Kondomfabrik und Nutella hat Lichtschutzfaktor 9,7 8)

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

    Das Szenario ergibt so gepostet keinen Sinn. Die ProgressBar soll unabhängig vom Progress/Fortschritt, sondern in Abhängigkeit von der Zeit ihren Zustand verändern. Außerdem ist so ein Kopierprozess sehr anspruchsvoll. Das dauert, und in der Zwischenzeit passiert eben nun mal nix, weil sich das Programm voll auf die Aufgabe des Kopieren konzentriert. Das mit der ProgressBar ergäbe nur Sinn, wenn vor dem 1. Kopieren und nach jedem Copy-Vorgang die Progressbar aktualisiert wird. Und dann jeweils ein ProgressBar.Refresh-durchgeführt wird. Ggf. muss das per Nebenläufigkeit eingebaut werden, weil wohl das GUI bei so nem langfristigen Kopiervorgang blockieren wird.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.