Hilfe zu Countdowntimer

  • VB.NET

Es gibt 21 Antworten in diesem Thema. Der letzte Beitrag () ist von kwon.

    Hilfe zu Countdowntimer

    Hallo,
    ich bin ein Anfänger in der VB-Programmierung und benötige etwas Hilfe...

    Langfristig möchte ich eine Windows-Forms-App programmieren mit der der PC, abhängig von der eingegeben Zeit, automatisch

    herunterfährt - diesen Vorgang soll man über einen Button auch abbrechen können.
    Die Zeit wird in 2 Textboxen (HH MM) eingegeben.

    Ein Label auf der Form soll die verbleibende Zeit als Countdown anzeigen und sekündlich aktualisieren.
    (Die shutdown-Funktionalität habe ich noch nicht programmiert.)

    Kurzfristig benötige ich folgende Hilfe:

    Die Label-Anzeige von Label8 zeigt nicht den Start-Wert und aktualisiert sich nicht.

    Hoffentlich ist jemand so nett und schaut sich den Code mal an und gibt die erforderlichen Korrekturen an, da ich in VB ein absoluter

    Neuling bin...

    Vielen Dank für die Hilfe im Voraus!!

    Grüße,

    kwon

    P.S. Hallo nochmal,

    ich habe, wie von euch verlangt, den Code nun besser formatiert - Dankeschön für die kurze Beschreibung!

    Ich möchte euch mitteilen, dass ich aus beruflichen Gründen, erst am Wochenende dazu kommen werde den Code zu prüfen, Tests durchzuführen, ...
    Natürlich ist mir die Programmierung an dem Problem sehr wichtig, ich komme nur leider erst am Wochenende dazu.

    Vielen Dank für die Antworten!!

    Bis in ein paar Tagen,

    Viele Grüße,

    kwon

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()
    2. Partial Class herunterfahren
    3. Inherits System.Windows.Forms.Form
    4. .
    5. . hier ist vom Programmm automatisch eingefügter Code
    6. .
    7. Dim WithEvents Timer1 As Timer
    8. Dim TargetDT As DateTime
    9. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    10. Dim hh As Integer, mm As Integer, dauerSek As Integer
    11. Dim TargetDT As DateTime, countdownfrom As TimeSpan
    12. hh = CInt(TextBoxHH.Text)
    13. mm = CInt(TextBoxMM.Text)
    14. dauerSek = hh * 3600 + mm * 60
    15. countdownfrom = New TimeSpan(hh, mm, 0)
    16. Timer1 = New Timer()
    17. Timer1.Interval = 1000
    18. TargetDT = DateTime.Now.Add(countdownfrom)
    19. Timer1.Start()
    20. End Sub
    21. Private Sub countdown_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    22. Dim ts As TimeSpan = TargetDT.Subtract(DateTime.Now)
    23. If ts.TotalSeconds > 0 Then
    24. Label8.Text = ts.ToString("hh\:mm\:ss")
    25. Else
    26. Label8.Text = "00:00:00"
    27. Timer1.Stop()
    28. MessageBox.Show("Zeit abgelaufen.")
    29. End If
    30. End Sub
    31. End Class

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „kwon“ ()

    Hi kwon herzlich willkommen im Forum,

    könntest du deinen Startbeitrag bitte einmal editieren, den Code markieren, und oben rechts im Editor auf das vb.net-Symbol klicken, danach nochmal inkl. der neuen Tags markieren und auf das Spoiler-Symbol (durchgestrichenes auge) klicken, dann wird dein Code passend formatiert und wir können versuchen dir zu helfen

    Edit,Nachtrag: auf den ersten Blick scheint mir, das du das Label nicht Refreshed. nach dem du im Timer.Tick dem Label einen neuen Text zuweist, einmal auch label8.refresh() angeben

    LG
    If Energy = Low Then
    Drink(aHugeCoffee)
    Else
    Drink(aHugeCoffeeToo)
    End If
    @kwon Dein Code ist dahingehend merkwürdig, dass Du Code aus einer Designer-Datei hier postest.
    Dann lerne zu debuggen: Debuggen, Fehler finden und beseitigen
    Dein Code kann nicht funktionieren. ts.TotalSeconds ist bei mir kleiner als 0, die Schleife wird sofort beendet.
    Mach folgende Testausgaben in der Timer-Tick-Routine (Dein Label natürlich):

    VB.NET-Quellcode

    1. Label1.Text = ts.TotalSeconds.ToString
    =====================
    Du hast in der Button1_Click() eine zweite Variable vom Namen TargetDT, die musst Du rausnehmen :!: :thumbsup:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „RodFromGermany“ ()

    Hallo asusdk, HenryV und RodFromGgermany,

    danke für die Antworten!!

    Der Ansatz mit der Timerfunktion war mir zu schwer - ich habe mir einen anderen, eigenen Ansatz ausgedacht, der für mich als Anfänger leichter verständlich ist.

    Bitte schaut in den Spoiler...

    Der Hinweis mit dem Label refreshen war sehr hilfreich!! Dankeschön...

    Habe den Countdowntimer nun hinbekommen.

    Jetzt mache ich mich an den shutdown-Befehl über cmd und sendkeys (habe auf dem PC wofür es gedacht ist keine Adminrechte) und evtl. diesen shutdown-Befehl abbrechen zu können...

    Ich melde mich wenn ich Schwierigkeiten bekommen sollte.

    Vielen Dank und bis bald!

    Grüße,

    kwon


    Spoiler anzeigen

    VB.NET-Quellcode

    1. ​Class Form1
    2. Private Sub StartButton_Click(sender As Object, e As EventArgs) Handles StartButton.Click
    3. Dim i As Integer, Anzsekunde As Integer
    4. Dim ts1 As New TimeSpan(10, 0, 0), ts2 As New TimeSpan(0, 0, 1)
    5. Anzsekunde = 125
    6. For i = 1 To Anzsekunde
    7. ts1 = ts1 - ts2
    8. Label9.Text = ts1.ToString
    9. Label9.Refresh()
    10. System.Threading.Thread.Sleep(1000)
    11. Next i
    12. End Sub
    13. End Class

    kwon schrieb:

    VB.NET-Quellcode

    1. System.Threading.Thread.Sleep(1000)
    What :?:
    Diesen Countdown kannst Du nicht abbrechen, da Du die GUI füt 125 Sekunden absolut blockierst!
    Befasse Dich mit dem Timer!
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hallo RodFromGermany,

    mit dem Timer habe ich leider noch meine Schwierigkeiten.

    Könntest du dir den Spoiler mal ansehen und mir sagen was ich falsch mache?

    In der Zeile in der ich den timer aktiviere bekomme ich eine Fehlermeldung "Objektverweis wurde nicht auf Objektinstanz festgelegt."

    Vielen Dank für deine Hilfe...
    Spoiler anzeigen

    VB.NET-Quellcode

    1. ​Public Class Form1
    2. Dim WithEvents Timer1 As Timer
    3. Private Sub StartButton_Click(sender As Object, e As EventArgs) Handles StartButton.Click
    4. Timer1.Enabled = True
    5. Timer1.Interval = 1000
    6. End Sub
    7. Private Sub StopButton_Click(sender As Object, e As EventArgs) Handles StopButton.Click
    8. Timer1.Enabled = False
    9. End Sub
    10. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    11. Dim ts1 As New TimeSpan(0, 0, 0), ts2 As New TimeSpan(0, 0, 1)
    12. Dim h As Integer, m As Integer
    13. h = TextBox1.Text
    14. m = TextBox2.Text
    15. ts1 = New TimeSpan(h, m, 0)
    16. ts1 = ts1 - ts2
    17. Label9.Text = ts1.ToString
    18. Label9.Refresh()
    19. End Sub
    20. End Class

    kwon schrieb:

    VB.NET-Quellcode

    1. Dim WithEvents Timer1 As Timer
    Lösch diese Zeile und zieh Dir einen Timer aus der Toolbox auf Deine GUI.
    ====
    Du musst verstehen, was eine Instanz ist, eine solche muss mit New erstellt werden.
    So würde es funktionieren:

    VB.NET-Quellcode

    1. Dim WithEvents Timer1 As Timer = New Timer

    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hallo RodFromGermany,

    danke für deine Hilfe!!

    Leider stelle ich mich dämlich an...

    Ich habe den Timer auf meine Form gezogen.
    Die Codezeile mit WithEvents habe ich gelöscht.
    Du meinst es doch wahrscheinlich so:
    Entweder Timer auf form ziehen oder den von dir vorgeschlagenen Code mit Withevents einfügen?

    Leider bekomme ich den Timer1 nicht zum "Ticken" - was muss ich dafür tun?
    Das Label9 zählt nur um 1 Sekunde runter und bleibt dann stehen.
    Mein Versuch mit der ForNextSchleife ist wahrscheinlich unnötig, oder?

    Es wäre sehr freundlich wenn du mir erklären könntest wie ich den Timer1 zum "Ticken" bekomme...

    Ich stelle mich wohl dämlich an.

    Spoiler anzeigen

    VB.NET-Quellcode

    1. ​Public Class Form1
    2. Private Sub StartButton_Click(sender As Object, e As EventArgs) Handles StartButton.Click
    3. Timer1.Enabled = True
    4. Timer1.Interval = 1000
    5. End Sub
    6. Private Sub StopButton_Click(sender As Object, e As EventArgs) Handles StopButton.Click
    7. Timer1.Enabled = False
    8. End Sub
    9. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    10. Dim ts1 As New TimeSpan(0, 0, 0), ts2 As New TimeSpan(0, 0, 1)
    11. Dim h As Integer, m As Integer, anzSek As Integer, i As Integer
    12. h = TextBox1.Text
    13. m = TextBox2.Text
    14. anzSek = h * 3600 + m * 60
    15. For i = 1 To anzSek
    16. ts1 = New TimeSpan(h, m, 0)
    17. ts1 = ts1 - ts2
    18. Label9.Text = ts1.ToString
    19. Label9.Refresh()
    20. Next i
    21. End Sub
    22. End Class

    @kwon Die Variablen musst Du beim Start bereitstellen.
    Die Schleife in Deiner Timer_Tic wird doch durch das Ticken des Timers ersetzt.
    In der TimerTick zählst Du die Zeit um eine Einheit runter und stellst sie dar.
    Und
    Option Strict On :!:
    Visual Studio - Empfohlene Einstellungen
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hallo,

    der Timer läuft (habe es mit MsgBox getestet).

    Allerdings beginnt er direkt zu laufen - er sollte eigentlich erst laufen wenn "StartButton" gedrückt wird.

    Aber Das Label9 aktualisiert sich nicht obwohl "Refresh()" verwendet wird.

    Könnte mir jemand bitte sagen was ich an meinem Code ändern muss damit der Code funtioniert?

    Ich habe jetzt lange herumprobiert und komme allein nicht mehr weiter...

    Vielen Dank für die Hilfe im Voraus!

    kwon

    Spoiler anzeigen

    VB.NET-Quellcode

    1. ​Option Strict On
    2. Public Class Form1
    3. Dim h As String, m As String
    4. Private Sub StartButton_Click(sender As Object, e As EventArgs) Handles StartButton.Click
    5. h = TextBox1.Text
    6. m = TextBox2.Text
    7. Me.Timer1.Interval = 1000
    8. Me.Timer1.Enabled = True
    9. End Sub
    10. Private Sub StopButton_Click(sender As Object, e As EventArgs) Handles StopButton.Click
    11. Me.Timer1.Enabled = False
    12. End Sub
    13. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    14. Dim ts1 As New TimeSpan(0, 0, 0), ts2 As New TimeSpan(0, 0, 1)
    15. ts1 = New TimeSpan(CInt(0), CInt(1), 0)
    16. ts1 = ts1 - ts2
    17. Me.Label9.Text = ""
    18. Me.Label9.Text = ts1.ToString()
    19. Me.Label9.Refresh()
    20. End Sub
    21. End Class
    Hallo erstmal,

    also ich habe das Projekt jetzt gerade mal schnell nachgebaut (mit deinem Code).

    Der Timer funktioniert problemlos, auch das Label aktualisiert sich (du brauchst das Me.Label9.Refresh() garnicht).

    Allerdings zeigt das Label immer 00:00:59 an (nachdem du den Timer gestartet hast). Mir ist dein Code nicht ganz verständlich was er machen soll.

    Viele Grüße
    Florian
    ----

    WebApps mit C#: Blazor
    @flori2212
    Hallo Florian,

    danke für deine Antwort!
    Ich habe eine Form, auf der sich 2 Textboxen, 2 Buttons und ein Label befinden.
    Ich möchte eine Form erstellen die mit einem Label die Zeit in HH:MM:SS sekundenweise herunterzählt und dann den PC herunterfährt.
    Mittels den 2 Textboxen werden die Stunden und Minuten eingegeben. Ein Button startet den countdown, ein Buttton beendet ihn.

    Die shutdown-funktionalität habe ich noch nicht realisiert - erstmal möchte ich die Darstellung des Countdowns hinbekommen.

    Vielleicht könntest du mir mit der obigen Beschreibung sagen warum der Counter immer nur 00:00:59 zeigt?

    Viele Grüße,
    kwon
    Das Problem ist, dass du jedes mal wenn der Timer auslöst (jede sekunde) von dem ts1 (der 1 Minute ist) ts2 (der 1 Sekunde ist) abziehst. Da wird auch nach tausend Jahren immer noch 59 Sekunden rauskommen.
    Du musst die aktuelle Zeit in einer Variable auserhalb des Tick Ereignisses speichern.

    Ich hoffe du hast verstanden was ich meine. Wenn nicht frag einfach nochmal

    Viele Grüße
    Florian
    ----

    WebApps mit C#: Blazor
    Hallo flori2212,

    Vielen Dank für deine Hilfe!!

    Habe die Zeit ausgelagert...

    Jetzt läuft der Timer.

    Der Grund warum er einfach so lief (ohne einen vorigen Klick auf StartButton) war das ich den Timer1 auf die Form gezogen habe und es war "Enabled" aktiviert - habe jetzt false gesetzt.

    Jetzt beginnt er per Klick auf den StartButton.

    Per Klick auf den StopButton endet der Timer, so soll es sein.

    Eine Frage habe ich noch:

    Wie stoppt der Timer automatisch wenn "00:00:00" erreicht ist?

    Nochmals vielen Dank für deine Hilfe.

    Viele Grüße,

    kwon

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Option Strict On
    2. Public Class Form1
    3. Dim h As String, m As String
    4. Dim ts1 As New TimeSpan(0, 0, 0)
    5. Private Sub StartButton_Click(sender As Object, e As EventArgs) Handles StartButton.Click
    6. h = TextBox1.Text
    7. m = TextBox2.Text
    8. ts1 = New TimeSpan(CInt(h), CInt(m), 0)
    9. Me.Timer1.Interval = 1000
    10. Me.Timer1.Enabled = True
    11. End Sub
    12. Private Sub StopButton_Click(sender As Object, e As EventArgs) Handles StopButton.Click
    13. Me.Timer1.Enabled = False
    14. End Sub
    15. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    16. Dim ts2 As New TimeSpan(0, 0, 1)
    17. ts1 = ts1 - ts2
    18. Me.Label9.Text = ts1.ToString()
    19. End Sub
    20. End Class

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „kwon“ ()

    Ich arbeite da gerne mit dem Konstruktor, um die Anfangsbedingungen festzulegen.

    VB.NET-Quellcode

    1. Public Sub New()
    2. Me.InitializeComponent()
    3. Me.Timer1.Enabled = False
    4. Me.Timer1 = Nothing
    5. Me.SetControlsZero()
    6. End Sub


    Die Startbedingungen könnten dann in etwa so aussehen

    VB.NET-Quellcode

    1. Me.BtClear.Enabled = False
    2. Me.BtClose.Enabled = False
    3. Me.Timer1 = New Timer With {.Enabled = True, .Interval = Interval}
    4. Me.Timer1.Start()
    5. Me.SetControlsReadOnly(True)
    6. Me.SetControlsValueInVariables()


    Die Stop-Bedingungen dann etwa so

    VB.NET-Quellcode

    1. If Me.Timer1 IsNot Nothing Then
    2. Me.Timer1.Stop()
    3. Me.Timer1.Enabled = False
    4. Me.Timer1 = Nothing
    5. End If
    6. Me.SetControlsReadOnly(False)
    7. Me.BtClear.Enabled = True
    8. Me.BtClose.Enabled = True


    Die Bedingungen für den Countdown-Schluss

    VB.NET-Quellcode

    1. ​Me.StopConditions()
    2. Me.SetControlsZero()
    3. 'PrintOut your Message for finish
    4. MessageBox.Show(....)



    Noch was anderes. Die Werte Stunden, Minuten und Sekunden die in deinen Controls liegen sollten nur einmal in eine BerechnungsVariable eingepflegt werden. Nimm also das datecurrent = date.now + alle Werte der Controls.
    Jetzt kannst du mit der SystemUhr arbeiten. timespan = datecurrent - date.now. (irgendwie so)


    Freundliche Grüsse

    exc-jdbi

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „exc-jdbi“ ()

    Also ich habe mir jetzt mal die Mühe gemacht und ein neues Projekt erstellt und deinen Code einfach rein kopiert, die entsprechenden Controls auf das Form gezogen und gestartet.
    Es ist alles so wie du es möchtest. Startet erst mit klick auf den entsprechenden Button.

    Ich vermute einfach das du irgendwo noch ein Event hast das den Timer auch startet. TextBox1.TextChanged , Form.Load oder ähnliches
    Rechtschreibfehler betonen den künstlerischen Charakter des Autors.
    Du machst Dir das unnötig schwer.

    Der Benutzer gibt in die Textboxen Stunden, Minuten und Sekunden ein. Eine Stunde = 60 * 60 Sekunden, eine Minute = 60 Sekunden. Du nimmst also die komplette Anzahl der Sekunden und bei jedem Aufruf von Timer_Tick ziehst Du eine Sekunde ab und nutzt TimeSpan.FromSeconds für die Anzeige der verbleibenden Stunden, Minuten und Sekunden.

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private _totalTime As Integer
    3. Private WithEvents _timer As New Timer With {.Interval = 1000}
    4. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    5. _totalTime += Integer.Parse(Me.txtH.Text) * 3600
    6. _totalTime += Integer.Parse(Me.txtM.Text) * 60
    7. _totalTime += Integer.Parse(Me.txtS.Text)
    8. _timer.Start()
    9. End Sub
    10. Private Sub _timer_Tick(sender As Object, e As EventArgs) Handles _timer.Tick
    11. UpdateTime()
    12. End Sub
    13. Private Sub UpdateTime()
    14. _totalTime = _totalTime - 1
    15. Dim tS As TimeSpan = TimeSpan.FromSeconds(_totalTime)
    16. Me.Label1.Text = String.Concat(tS.Hours.ToString("00"), "h ", tS.Minutes.ToString("00"), "m ", tS.Seconds.ToString("00"), "s")
    17. If _totalTime = 0 Then
    18. _timer.Stop()
    19. End If
    20. End Sub
    21. End Class
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Hallo Akanel und exc-jdbi,

    Vielen Dank für eure Antworten!!

    Hatte den timer auf die form gezogen und es war Enabled aktiviert - habe auf false gesetzt - jetzt startet der Timer erst mit dem Startbutton...

    Könntet ihr mir noch einen Hinweis geben wie ich den Timer bei "00:00:00" automatisch stoppen lasse?

    Viele Grüße,
    kwon

    Spoiler anzeigen

    VB.NET-Quellcode

    1. ​Option Strict On
    2. Public Class Form1
    3. Dim h As String, m As String
    4. Dim ts1 As New TimeSpan(0, 0, 0)
    5. Private Sub StartButton_Click(sender As Object, e As EventArgs) Handles StartButton.Click
    6. h = TextBox1.Text
    7. m = TextBox2.Text
    8. ts1 = New TimeSpan(CInt(h), CInt(m), 0)
    9. Me.Timer1.Interval = 1000
    10. Me.Timer1.Enabled = True
    11. End Sub
    12. Private Sub StopButton_Click(sender As Object, e As EventArgs) Handles StopButton.Click
    13. Me.Timer1.Enabled = False
    14. End Sub
    15. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    16. Dim ts2 As New TimeSpan(0, 0, 1)
    17. ts1 = ts1 - ts2
    18. Me.Label9.Text = ts1.ToString()
    19. End Sub
    20. End Class
    Da musst du einfach eine simple IF abfrage in das Tick Ereignis schreiben, wo du abfragst, ob der gespeicherte Zeitwert = 0 ist.
    Ich habe das Projekt jetzt mal nachgebaut und dir meinen Code eingefügt.
    Dort werden direkt noch die Textboxen und Buttons deaktiviert wenn der Countdown startet, und wieder aktiviert, wenn er gestoppt wird

    Spoiler anzeigen


    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim h As Integer, m As Integer
    3. Dim actualTime As TimeSpan
    4. Public Sub New()
    5. ' Dieser Aufruf ist für den Designer erforderlich.
    6. InitializeComponent()
    7. ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
    8. Me.Timer1.Interval = 1000
    9. End Sub
    10. Private Sub StartButton_Click(sender As Object, e As EventArgs) Handles StartButton.Click
    11. 'Damit es siicher eine Zahl ist
    12. If Integer.TryParse(TextBox1.Text, h) = False Or Integer.TryParse(TextBox2.Text, m) = False Then
    13. MessageBox.Show("Sie haben keine Zahl eingegeben.")
    14. Else
    15. actualTime = New TimeSpan(h, m, 0)
    16. TextBox1.Enabled = False
    17. TextBox2.Enabled = False
    18. StartButton.Enabled = False
    19. Timer1.Start()
    20. End If
    21. End Sub
    22. Private Sub StopButton_Click(sender As Object, e As EventArgs) Handles StopButton.Click
    23. Timer1.Stop()
    24. StartButton.Enabled = True
    25. TextBox1.Enabled = True
    26. TextBox2.Enabled = True
    27. End Sub
    28. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    29. actualTime -= New TimeSpan(0, 0, 1)
    30. Me.lbl_remaning.Text = actualTime.ToString()
    31. If actualTime = New TimeSpan(0, 0, 0) Then
    32. MessageBox.Show("Timer abgelaufen. System fährt herunter.")
    33. End If
    34. End Sub
    35. End Class




    Ich hoffe das hilf dir weiter.

    Viele Grüße
    Florian
    ----

    WebApps mit C#: Blazor