ProgressBar?

Von: , Frage gestellt am Mo, 2. Apr 2007

wie muss ich eine ProgressBar programieren damit sie sich nach und nach füllt wenn man auf einen Button drückt?

7 Antworten zu dieser Frage

  1. Antwort von nach 27 Minuten 0 hilfreich
    Re: ProgressBar?

    Hallo, wie muss ich eine ProgressBar programieren damit sie sich nach
    und nach füllt wenn man auf einen Button drückt?
    den mußt Du gar nicht programmieren, nur verwenden, der ist doch schon fertig.

    Beim Start gibst Du den Maximalwert an, Progressbar1.Max = 100 z.B. wenn die Anzeige in % sein soll. Dann gibst Du mit Progressbar1.Value = Wert den aktuellen Wert an den Progressbar und der zeigt Dir das. Den Wert mußt Du selbst berechnen und immer wieder schreiben.

    Gruß, Rainer

    • Antwort von nach 2 Stunden 0 hilfreich
      Re^2: ProgressBar?

      danke

      so habe ich das zum ausprobieren geschrieben

      Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      ProgressBar1.Value = 1
      ProgressBar1.Value = 2
      ProgressBar1.Value = 3
      ProgressBar1.Value = 4
      End Sub


      ich möchte das so haben das zwischen dem erscheinen eines Balkens eine Verzögerung von einer Sekunde ist [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

      • Antwort von nach 2 Stunden 0 hilfreich
        Re^3: ProgressBar?

        Hallo, so habe ich das zum ausprobieren geschrieben

        Private Sub Button1_Click_1(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button1.Click
        ProgressBar1.Value = 1
        ProgressBar1.Value = 2
        ProgressBar1.Value = 3
        ProgressBar1.Value = 4
        End Sub
        


        ??? VB6 ist das aber nicht. Ist das VBA oder VB2005?

        Für VB6 habe ich Dir mal ein Beispiel gschrieben, in dem der Fortschrittsbalken in zwei verschiedenen Varianten verwendet wird.

        Auf der Form liegen ein Timer-Steuerelement (Timer1), ein Button (Command1) und ein Progressbar (ProgressBar1).

        Wenn das Programm gestartet wird, läuft der Progressbar immer in fünf Schritten von null bis Maximal, jeweils mit einer Sekunde Pause.
        Wird auf den Button geklickt, springt der Progressbar auf Null und wird in fünf Schritten bis auf Maximal gefüllt, wieder jeweils mit einer Sekunde Pause.

        Hilft Dir das so?

        Option Explicit
        Private Sub Command1_Click()
        Dim i As Byte
        Dim tm As Double
        Timer1.Enabled = False
        For i = 0 To 5
        ProgressBar1.Value = i
        'Warteschleife
        tm = Timer + 1
        While tm > Timer
        DoEvents
        Wend
        Next
        End Sub
        Private Sub Form_Load()
        Timer1.Interval = 1000
        Timer1.Enabled = True
        ProgressBar1.Max = 5
        End Sub
        Private Sub Timer1_Timer()
        If ProgressBar1.Value < ProgressBar1.Max Then
        ProgressBar1.Value = ProgressBar1.Value + 1
        Else
        ProgressBar1.Value = 0
        End If
        End Sub
        


        Gruß, Rainer

        • Antwort von nach 3 Stunden 0 hilfreich
          Re^4: ProgressBar?

          ich hab vb2005

          eigentlich funktioniert der code

          nur der teil:

          tm = Timer + 1
          While tm > Timer
          DoEvents()

          funktioniert nicht

          in den ersten beiden Zeilen ist das Wort Timer unterstrichen und die untere Zeile ist komplet unterstrichen [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

          • Antwort von nach 3 Stunden 0 hilfreich
            Re^5: ProgressBar?

            Hallo, ich hab vb2005
            dann sieh mal in die Brettbeschreibung. VB2005 ist ein paar Bretter weiter oben. '.NET und c#'. eigentlich funktioniert der code

            nur der teil:

            tm = Timer + 1
            While tm > Timer
            DoEvents()

            funktioniert nicht

            in den ersten beiden Zeilen ist das Wort Timer unterstrichen
            und die untere Zeile ist komplet unterstrichen
            Dann gibt es in VB2005 die Funktion 'Timer' nicht so wie in VB6.
            Das DoEvents kannst Du auch weg lassen, aber dann reagiert der Rechner in der Wartezeit auf nichts, Du kannst das Programm noch nicht mal beenden. Die Funktion muß es in VB2005 auch geben, nur weiß ich nicht, wie die heißt.

            Heute Abend kann ich nachsehen, im Moment habe ich kein VB2005 zur Verfügung.

            Gruß, Rainer

            • Antwort von nach 3 Tagen 1 hilfreich
              Re^6: ProgressBar?

              hi,

              Public Class Form1
              Dim StartZeit As Date = System.DateTime.Now
              Dim i, Ende As Integer
              Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
              Me.ProgressBar1.Value = 0
              Ende = 10
              Me.ProgressBar1.Maximum = Ende
              For i = 1 To Ende
              System.Threading.Thread.Sleep(1000)
              Me.ProgressBar1.Value = Me.ProgressBar1.Value + 1
              Next
              End Sub
              End Class
              


              Cu

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!