Timer und Progressbar!

06/07/2015 17:55 Melli-#1
Hallo.

Ich möchte euch in Visual Basic 2010 den Timer und die Progressbar näher bringen. Es gibt bestimmt Leute die totaler Noob sind und sich eventuell mit dem Button auskennen. Aber wenn man eine Progressbar z.B zum laufen bringen möchte usw. dann muss man auch den Timer können.

Progressbar:
Viele kennen sie. Die Progressbar. Man sieht die Progressbar oft wenn ein Programm lädt.

Timer:
Der Timer ist eine gute alternative um die Progressbar anzutreiben oder immer wieder ein Schritt zu wieder holen.



Erstellt nun ein neues Projekt.
Projekt erstellt?
Gut.
Nun fügt
1 Label, 1 Timer, 1 Button, 1 Progressbar hinzu.

Dies könnte in etwa so aussehen
Von dem Label den Text habe ich erstmal rausgemacht.

Bei dem Timer ist es hier egal was für ein Interval ihr einstellt.

Zuerst gehen wir in den Button wo bei mir "Start" drauf steht und schreiben rein
Code:
Timer1.Enabled = True
Label1.Text = "Loading...."
Das heißt: Wenn wir auf den Knopf drücken soll der Timer starten und vom Label1 der Text soll "Loading..." werden.

Nun machen wir ein Doppelklick auf den Timer. Dort müssen wir erstmal reinschreiben das sich von der Progressbar die Value immer +1 erhöhen soll.
Also schreiben wir hin:
Code:
Progressbar1.Value += 1
Das heißt: der Wert von der Progressbar1 soll sich immer um eins erhöhen. Man kann es auch auf 2 stellen oder wie man es halt möchte.
Nun können wir es testen. Und es kommt zu einem fehler zustande. Ich denke mal der Fehler kommt daher weil die ProgressBar1 den Wert von 100 hat und das Programm nicht mehr weiß was man tun soll. Also schreiben wir eine If Schleife unter die Funktion "Progressbar1.Value += 1"
Code:
  If ProgressBar1.Value = 100 Then
            Label1.Text = "Fertig geladen"
        End If
Die If Schleife sagt: Wenn von der ProgressBar1 der Wert 100 ist soll er vom Label den Text umändern zu "Fertig geladen."
Trotzdem bekommen wir noch einen kleinen Fehler. Dieser ist aber nicht schlimm. Um diesen zu beheben könntet ihr in die If Schleife noch rein schreiben:
Code:
Timer1.Enabled = False
sodass der Timer direkt aufhört zu arbeiten sobald der Wert 100 ist.
Tada der Fehler tritt nicht mehr auf.

Ganz wichtig: Wenn ihr ein Start Button habt und ein Timer müsst ihr IMMER in den Start Button "Timer1.Enabled = True" schreiben und dann in dem Timer was passieren soll.

Ich hoffe es hat euch gefallen und ich hoffe es wird euch helfen.


Der Code am Ende vom ganzen Programm:
Code:
Public Class Form1

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Timer1.Enabled = True
        Label1.Text = "Loading...."
    End Sub

    Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
        ProgressBar1.Value += 10
        If ProgressBar1.Value = 100 Then
            Timer1.Enabled = False
            Label1.Text = "Fertig geladen"
        End If
    End Sub
End Class
06/07/2015 23:02 alpines#2
Quote:
Originally Posted by Skriptum View Post
FlutteShy, etwas freundlicher geht das auch, oder? :rolleyes:
Das ginge schon aber bei solchen elementaren Fehlern sollte man verstehen warum man da an die Decke geht.
Geh doch mal in der Tutorials-Sektion die einzelnen Seiten durch und schau mal welche Threads immer geschlossen wurden und welche nicht.
06/08/2015 15:42 Skriptum#3
Quote:
Originally Posted by alpines View Post
Das ginge schon aber bei solchen elementaren Fehlern sollte man verstehen warum man da an die Decke geht.
Geh doch mal in der Tutorials-Sektion die einzelnen Seiten durch und schau mal welche Threads immer geschlossen wurden und welche nicht.
Ja gut, hast du vielleicht auch recht :/
06/09/2015 18:36 snow#4
Quote:
If Schleife
#closed

Okay, ernsthaft:
Unabhängig von der Qualität des Tutorials geht Kritik auch freundlicher, bitte achtet auf eure Wortwahl, beim nächsten Mal gibts Infras.

@Melli-: Es wäre gut, wenn du noch einen wirklichen Anwendungsfall beschreiben könntest, bei dem der Fortschritt der Progress Bar nicht von einem Timer abhängt. :)