Wie erstellt man einen kleinen Timer, welcher von 10 auf 0 zÀhlt und dann einen Vorgang startet
Lösung:
In Windows 10 UWP verwendet man hierzu den
DispatcherTimer Timer = new DispatcherTimer(); |
Zu Beginn stellt man den Timer auf die Zeiteinheit ein, in welcher er zÀhlen soll.
Hier soll pro Sekunde ein Timer-Event ausgelöst werden
Timer.Interval = new TimeSpan(0, 0, 1); Timer.Start(); |
Dann erstellt man einen Event, welcher ausgelöst wird beim Timer-click
Timer.Tick += Timer_Tick; |
Und in den Tick-Event des Timers schreibt man dann den ZĂ€hler oder andere Logik
private void Timer_Tick(object sender, object e) { //--------< Timer_Tick() >-------- //*decrease Counter. Start MainRun at 0 //< decrease > CountDown_Seconds = CountDown_Seconds - 1; //</ decrease > fx_Log(CountDown_Seconds.ToString()); //show text
//-< run_on_0 >- if (CountDown_Seconds == 0) { Timer.Stop(); //*stop timer fx_Run_Main(); //*run main } //-</ run_on_0 >- //--------</ Timer_Tick() >-------- } |
Timer, Counter, Autostart, Autocounter
UWP, Windows 10
Beispiel Code in C#
using System;
public sealed partial class MainPage : Page { DispatcherTimer Timer = new DispatcherTimer(); public int CountDown_Seconds = 10;
#region Page //--------------------< region: Page >--------------------- public MainPage() { this.InitializeComponent(); Current_Mainpage = this;
optStop.IsChecked = false;
//< start Timer > Timer.Tick += Timer_Tick; Timer.Interval = new TimeSpan(0, 0, 1); Timer.Start(); //</ start Timer > }
//--------------------</ region: Page >--------------------- #endregion /Page
#region Controls //--------------------< region: Controls >--------------------- private void optStop_Click(object sender, RoutedEventArgs e) { Timer.Stop(); } private void Timer_Tick(object sender, object e) { //--------< Timer_Tick() >-------- //*decrease Counter. Start MainRun at 0 //< decrease > CountDown_Seconds = CountDown_Seconds - 1; //</ decrease > fx_Log(CountDown_Seconds.ToString());
//-< run_on_0 >- if (CountDown_Seconds == 0) { Timer.Stop(); //*stop timer fx_Run_Main(); //*run main } //-</ run_on_0 >- //--------</ Timer_Tick() >-------- } //--------------------</ region: Controls >--------------------- #endregion /Controls |
Countdown-Timer: bei 0 beginnt die Hauptroutine