Hoi,
Ik heb voor deze vraag toch weer de code genomen die ik al voor je had gemaakt, omdat ik daarvan zelf alles begrijp, en daarin zitten geen namen waarvan ik niet weet waarvoor ze zijn...
Daarbij kwam ik op dit:
[CPP]Public Class Form1
Private Eind_Uur As Integer
Private Eind_Minuut As Integer
Private Eind_Seconde As Integer
Private Begin_Uur As Integer
Private Begin_Minuut As Integer
Private Begin_Seconde As Integer
Private Totaal_Seconden As Integer
Private ProgressbarWidth As Integer = 190
Private Message As String = Nothing
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Message = "Pauze voorbij"
Testsub2(, 5, )
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Message = "Rookpauze voorbij"
Testsub2(, 2, )
End Sub
Private Sub Testsub2(Optional ByVal Extra_Uur As Integer = 0, Optional ByVal Extra_Minuten As Integer = 0, Optional ByVal Extra_Seconden As Integer = 0)
Eind_Uur = Now.Hour + Extra_Uur
Eind_Minuut = Now.Minute + Extra_Minuten
Eind_Seconde = Now.Second + Extra_Seconden
Begin_Uur = Now.Hour
Begin_Minuut = Now.Minute
Begin_Seconde = Now.Second
Dim BerekenTotaalUur As Integer = Eind_Uur - Now.Hour
Dim BerekenTotaalMinuut As Integer = Eind_Minuut - Now.Minute
Dim BerekenTotaalSeconde As Integer = Eind_Seconde - Now.Second
BerekenTotaalTerug:
If BerekenTotaalUur < 0 Then
BerekenTotaalUur += 24
GoTo BerekenTotaalTerug
ElseIf BerekenTotaalMinuut < 0 Then
BerekenTotaalUur -= 1
BerekenTotaalMinuut += 60
GoTo BerekenTotaalTerug
ElseIf BerekenTotaalSeconde < 0 Then
BerekenTotaalMinuut -= 1
BerekenTotaalSeconde += 60
GoTo BerekenTotaalTerug
End If
Totaal_Seconden = BerekenTotaalUur * 360 + BerekenTotaalMinuut * 60 + BerekenTotaalSeconde
Terug:
If Eind_Uur > 24 Then
Eind_Uur -= 24
GoTo Terug
ElseIf Eind_Minuut > 60 Then
Eind_Uur += 1
Eind_Minuut -= 60
GoTo Terug
ElseIf Eind_Seconde > 60 Then
Eind_Minuut += 1
Eind_Seconde -= 60
GoTo Terug
End If
Timer1.Interval = 10
Timer1.Start()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
LblHuidigeTijd.Text = Format(Now.Hour, "00") & ":" & Format(Now.Minute, "00") & ":" & Format(Now.Second, "00")
Dim AftellenUur As Integer = Eind_Uur - Now.Hour
Dim AftellenMinuut As Integer = Eind_Minuut - Now.Minute
Dim AftellenSeconde As Integer = Eind_Seconde - Now.Second
AftellenTerug:
If AftellenUur < 0 Then
AftellenUur += 24
GoTo AftellenTerug
ElseIf AftellenMinuut < 0 Then
AftellenUur -= 1
AftellenMinuut += 60
GoTo AftellenTerug
ElseIf AftellenSeconde < 0 Then
AftellenMinuut -= 1
AftellenSeconde += 60
GoTo AftellenTerug
End If
Try
PictureBox1.Width = ProgressbarWidth - ((AftellenUur * 360 + AftellenMinuut * 60 + AftellenSeconde) / Totaal_Seconden) * ProgressbarWidth
Catch
End Try
LblAftellen.Text = Format(AftellenUur, "00") & ":" & Format(AftellenMinuut, "00") & ":" & Format(AftellenSeconde, "00")
Me.Text = "TEST " & LblAftellen.Text
If Eind_Uur = Now.Hour And Eind_Minuut = Now.Minute And Eind_Seconde = Now.Second Then
Timer1.Stop()
MsgBox(Message)
End If
End Sub
Private Sub Min(Optional ByVal uren As Integer = 0, Optional ByVal minuten As Integer = 0, Optional ByVal seconden As Integer = 0)
Eind_Uur -= uren
Eind_Minuut -= minuten
Eind_Seconde -= seconden
Dim BerekenTotaalUur As Integer = Eind_Uur - Begin_Uur
Dim BerekenTotaalMinuut As Integer = Eind_Minuut - Begin_Minuut
Dim BerekenTotaalSeconde As Integer = Eind_Seconde - Begin_Seconde
BerekenTotaalTerug:
If BerekenTotaalUur < 0 Then
BerekenTotaalUur += 24
GoTo BerekenTotaalTerug
ElseIf BerekenTotaalMinuut < 0 Then
BerekenTotaalUur -= 1
BerekenTotaalMinuut += 60
GoTo BerekenTotaalTerug
ElseIf BerekenTotaalSeconde < 0 Then
BerekenTotaalMinuut -= 1
BerekenTotaalSeconde += 60
GoTo BerekenTotaalTerug
End If
Totaal_Seconden = BerekenTotaalUur * 360 + BerekenTotaalMinuut * 60 + BerekenTotaalSeconde
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Min(, , 5)
End Sub
End Class
[/CPP]
Als je hierbij te vaak op de 'minder tijd'-knop drukt, dan zal het daarna nog rond de 23 uur duren volgens het programma, dus misschien kan je zelf daaraan nog wat doen. Ik heb hierbij er ook voor gezorgd dat de progressbar ook meegaat als het aftellen opeens minder word. Het enige probleem daarbij was, dat als het opeens nog 23 uur duurt, er een error kwam. Daarom een try-catch blok om de width van de progressbar.
Dit zal je dan maar verder moeten inbouwen in jouw programma, maar zorg wel weer dat je alles begrijpt (en goed kopieert

).
Succes!:thumb:
MartinJM