How to reset a timer in C#?
c#, timer
Solution
I always do ...
myTimer.Stop();
myTimer.Start();
... is that a hack? :)
Per comment, on Threading.Timer, it's the Change method ...
dueTime Type: `System.Int32` The amount of time to delay before the invoking the callback method specified when the Timer was constructed, in milliseconds. Specify `Timeout.Infinite` to prevent the timer from restarting. Specify zero (0) to restart the timer immediately.
Problem
There are three `Timer` classes that I am aware of, `System.Threading.Timer`, `System.Timers.Timer`, and `System.Windows.Forms.Timer`, but none of these have a `.Reset()` function which would reset the current elapsed time to 0. Is there a BCL class that has this functionality? Is there a non-hack way of doing it? (I thought perhaps changing the time limit on it might reset it) Thought on how hard it would be to reimplement a `Timer` class that had this functionality, or how to do it reliably with one of the BCL classes?