Timer mit Intervall > 64000 bzw >1 Minute

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Timer mit Intervall > 64000 bzw >1 Minute

    Ich war lange auf der Suche nach eimen Timer der mehr als die 64000ms unterstützt, habe aber keinen gefunden.

    Habe aber eine Möglichkeit geschaffen den normalen Timer trotzdem komfortabel einzusetzen ohne Tonnen an Code zu verwenden.
    cmbTime1 ist hier eine Combobox die eine Auswahl an Sekunden beinhaltet:

    VB.NET-Quellcode

    1. If cmbTime1.SelectedItem > 60 Then
    2. Timer1.Interval = (cmbTime1.SelectedItem Mod 60) * 1000 ' ist der Interval > als 60 Sekunden wird nur der durch 60 dividierte Rest an den Timer übergeben
    3. 'Die ganzen Minuten werden in den Tag des Timers geschrieben die dann im Tick-Ereignis um 1 subtrahiert werden
    4. Timer1.Tag = cmbTime1.SelectedItem \ 60
    5. Else
    6. Timer1.Interval = cmbTime1.SelectedItem * 1000
    7. Timer1.Tag = 0
    8. End If

    Im Timer1.Tick Ereignis steht dann folgendes:

    VB.NET-Quellcode

    1. 'Untenstehender Code wird nur abgearbeitet wenn keine Minute mehr im Tag steht, also Tag=0 ist
    2. If Timer1.Tag > 0 Then
    3. Timer1.Tag -= 1
    4. Timer1.Interval = 60000
    5. Exit Sub
    6. End If
    7. [auszuführender Code]

    Viel Spass
    Gib Deinem Programm trotzdem Option Strict On.
    Was ist denn das für ein merkwürdiges Programm, wo mit einem SelectedItem gerechnet wird?
    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!