feskenMedlem sedan sep. 200228 inlägg
Har lite problem med min Progress Bar, den springer ju iväg på hundradelen av en sekund. Det jag vill är att den laddas "x" antal sekunder. Säg tio sekunder. Då behöver man en timer, men hur slänger man in den i koden?
Dim Counter As Integer
Dim Workarea(250) As String
ProgressBar1.Min = LBound(Workarea)
ProgressBar1.Max = UBound(Workarea)
ProgressBar1.Visible = True
ProgressBar1.Value = ProgressBar1.Min
For Counter = LBound(Workarea) To UBound(Workarea)
Workarea(Counter) = 100000000
ProgressBar1.Value = Counter
Next Counter
ProgressBar1.Visible = False
ProgressBar1.Value = ProgressBar1.Min
JonMedlem sedan juli 20011 126 inlägg
Du lägger in timern i formuläret.
Redigera egenskaperna för timern och sätt ett intervall, typ 500 för varje halv sekund.
Lägg din kod (modifierad) i timer-eventet som du kommer till när du klickar på själva timern på formuläret i designläge.
Om du inte vill att den ska hålla på i evighet får du använda nån variabel och kolla emot och sen stänga av timern när du är klar. :)
Nexus86Medlem sedan okt. 20022 683 inlägg
Som Jon säger eller också helt timerfritt:
Dim Counter As Integer
Dim T as Double
Dim Workarea(250) As String
ProgressBar1.Min = LBound(Workarea)
ProgressBar1.Max = UBound(Workarea)
ProgressBar1.Visible = True
ProgressBar1.Value = ProgressBar1.Min
For Counter = LBound(Workarea) To UBound(Workarea)
Workarea(Counter) = 100000000
ProgressBar1.Value = Counter
T = Timer + 0.5 'om du vill att den ska vänta en halv sekund
Do Until Timer > T
DoEvents
Loop
Next Counter
ProgressBar1.Visible = False
ProgressBar1.Value = ProgressBar1.Min
Du kan byta ut 0.5 mot den tid i sekunder du vill att den ska vänta emellan varje gång.