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?
wie muss ich eine ProgressBar programieren damit sie sich nach und nach füllt wenn man auf einen Button drückt?
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
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]
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
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
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]
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
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
Hallo,
nur der teil:
tm = Timer + 1
While tm > Timer
DoEvents()
funktioniert nicht
sieh Dir das mal an:
http://www.activevb.de/rubriken/vbdotnettipps/tipp00...
Das ist etwas komplizierter als in VB6, macht aber das Selbe.
Gruß, Rainer