Created
August 2, 2018 09:32
-
-
Save miroslavradojevic/f721ff3b3cb0173af4dde185b4b1eafa to your computer and use it in GitHub Desktop.
Timer activated, triggering action after 5000ms. Needs another activation to start interval count again.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace TimerElapsed | |
{ | |
using System; | |
using System.Timers; | |
public class Program | |
{ | |
private static bool elapsed = false; | |
static Timer myTimer; | |
static void Main(string[] args) | |
{ | |
elapsed = false; | |
myTimer = new Timer(); | |
myTimer.Elapsed += OnMyTimerElapsed; | |
myTimer.Interval = 5000; | |
myTimer.AutoReset = false; | |
myTimer.Enabled = false; | |
Console.WriteLine("\nStart(): {0}", DateTime.Now); | |
Console.WriteLine("Usage:\n" + | |
"a: start timer\n" + | |
"b: stop timer\n" + | |
"c: print current timer state (enabled, elapsed)\n" + | |
"ESC, Ctrl+C to exit\n"); | |
ConsoleKeyInfo keyinfo; | |
do | |
{ | |
keyinfo = Console.ReadKey(); | |
if (keyinfo.Key == ConsoleKey.A) | |
{ | |
Console.WriteLine($"\nEnable and start {myTimer.Interval}ms interval timer {DateTime.Now}"); | |
myTimer.Enabled = true; | |
myTimer.Start(); | |
elapsed = false; | |
} | |
if (keyinfo.Key == ConsoleKey.B) | |
{ | |
Console.WriteLine($"\nDisable and stop timer {DateTime.Now}"); | |
if (true || myTimer.Enabled) myTimer.Enabled = false; | |
myTimer.Stop(); | |
elapsed = false; | |
} | |
if (keyinfo.Key == ConsoleKey.C) | |
{ | |
Console.WriteLine($"\nstatus: enabled={myTimer.Enabled} \t elapsed={elapsed}"); | |
} | |
} | |
while (keyinfo.Key != ConsoleKey.Escape); | |
} | |
private static void OnMyTimerElapsed(object source, ElapsedEventArgs e) | |
{ | |
Console.ForegroundColor = ConsoleColor.DarkYellow; | |
Console.WriteLine($"\nelapsed {DateTime.Now}"); | |
Console.ResetColor(); | |
elapsed = true; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment