vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Problem / Progressbar Balken erlischt nicht 
Autor: Dirk01
Datum: 15.10.13 10:43

Hallo zusammen!

Ich habe mir in einem kleinen Tool zum auflisten von Dateien aus einen Verzeichnis
eine Progressbar für die Fortschrittsanzeige eingebaut.
So weit so gut.
Wenn der grüne Balken nun aber bis zum Ende durchgelaufen ist, bleibt er so stehen.
Der grüne Balken erlischt nicht.
Mit Progressbar1.Update und .Refresh auch nicht.

Was habe ich hier falsch gemacht?

Wäre super, wenn mir da kurzfristig jemand weiterhelfen könnte.

    Private Sub P4_CMB_Durchlauf_Click(ByVal sender As System.Object, _
                                       ByVal e As System.EventArgs) Handles _
                                       P4_CMB_Durchlauf.Click
 
            'Testdurchlauf
            ProgressVonBis(100)
    End Sub
'...
    Public Sub ProgressVonBis(ByVal bis As Integer)
        Try
            ProgressBar1.Minimum = 0
            ProgressBar1.Maximum = bis
            Dim x As Integer
            For x = 1 To bis
                ProgressBar1.Value = x
            Next x
 
            'ProgressBar1.Refresh()
            'ProgressBar1.Update()
 
 
        Catch ex As System.Exception
            MsgBox("Problem:" & vbCrLf & ex.Message)
        End Try
    End Sub
Vielen Dank im Voraus.

mfg.

Dirk

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Problem / Progressbar Balken erlischt nicht 
Autor: stefan220273
Datum: 15.10.13 10:54

Progressbar.Value = 0



Gruss Stefan
Egal wie oft etwas gelöscht wird, das Internet vergisst nie und Menschen lassen sich nicht dauerhaft täuschen!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Problem / Progressbar Balken erlischt nicht 
Autor: Dirk01
Datum: 15.10.13 20:25

Hallo Stefan!

Wenn ich nun Progressbar1.value = 0 einfüge funktioniert passiert gar nichts?

mfg.

Dirk

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Problem / Progressbar Balken erlischt nicht 
Autor: Manfred X
Datum: 15.10.13 21:11

Hallo!

Du hast keine zeitliche Verzögerung in Deiner
Schleife. Ehe irgendwas gezeichnet werden kann,
ist Deine Schleife schon voll durchgelaufen.

Verwende einen Timer mit einer Verzögerung von
200 ms (Interval-Eigenschaft) und es dauert 20 Sekunden,
bis die Progressbar hochgelaufen ist.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Problem / Progressbar Balken erlischt nicht 
Autor: Dirk01
Datum: 16.10.13 08:54

Hallo zusammen!

Vielen Dank für die Infos.
Ich hab es nun so hinbekommen.
    Public Sub ProgressVonBis(ByVal bis As Integer)
        Try
            ProgressBar1.Minimum = 0
            ProgressBar1.Maximum = bis
            ProgressBar1.Step = 1
            Dim x As Integer
            For x = 0 To bis
                ProgressBar1.PerformStep()
                ProgressBar1.Refresh()
                System.Threading.Thread.Sleep(10)
            Next
 
            System.Threading.Thread.Sleep(500)
            ProgressBar1.Value = 0
 
        Catch ex As System.Exception
            MsgBox("Problem:" & vbCrLf & ex.Message)
        End Try
    End Sub
Wenn sich dass verbessern läßt, wäre ich für jede Anregung dankbar.

Schönen Tag noch.

mfg.

Dirk

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Problem / Progressbar Balken erlischt nicht 
Autor: Manfred X
Datum: 16.10.13 09:28

Prozesse sollte man nur in speziellen Ausnahmefällen
schlafen legen !

Public Class frmTest
 
    'Progressbar1 und Timer1 von der Toolbox auf die Form ziehen
 
    Dim timervalue As Integer 'Fortschritt wird im Timer-Event erzeugt
 
 
 
    Private Sub frmTest_Load(sender As System.Object, _
              e As System.EventArgs) Handles MyBase.Load
 
        'Initialisierungen
 
        Timer1.Interval = 1000 'eine Sekunde
        Timer1.Enabled = True
 
        timervalue = ProgressBar1.Minimum
 
    End Sub
 
 
 
    Private Sub Timer1_Tick(sender As System.Object, _
           e As System.EventArgs) Handles Timer1.Tick
 
        timervalue += 5 'Fortschritt
 
        With ProgressBar1
            If timervalue <= .Maximum Then
                'Fortschritt notieren
                .Value = timervalue
            ElseIf timervalue > 1.1 * ProgressBar1.Maximum Then
                'nach einer Wartefrist den Fortschritt neu starten
                .Value = .Minimum
                timervalue = 0
            End If
        End With
 
    End Sub
 
End Class
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Problem / Progressbar Balken erlischt nicht 
Autor: Franki
Datum: 17.10.13 07:08

Hallo Dirk,

verbessern lässt sich das insofern, dass du einen Bezug zur eigentlichen Aufgbe herstellst deren Fortschritt angezeigt werden soll.

Nehmen wir an, du möchtest 100 Dateien kopieren, dann könntest du nach jedem Kopiervorgang den Value um 1 erhöhen. Oder du gehst nach Dateigröße, rechnest entsprechend um usw., usw.

Was jetzt hier mit dem Timer diskutiert wird funktioniert zwar, aber der User hat keinerlei Info anhand der Progressbar inwieweit die eigentliche Aufgabe fortgeschritten ist. Dafür ist eine Progressbar eigentlich nicht gedacht.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Problem / Progressbar Balken erlischt nicht 
Autor: Dirk01
Datum: 18.10.13 10:04

Allen vielen Dank!

Das mit der Progressbar werd ich mir noch mal überlegen.

mfg.

Dirk

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel