Timer.Elapsed not a property that returns "elapsed time" - it is an event that you are subscribed to. The idea is that the event fires so often.
It's not entirely clear if you even want a Timer - perhaps System.Diagnostics.Stopwatch are you after?
var stopwatch = Stopwatch.StartNew(); // Do some work here if (stopwatch.ElapsedMilliseconds >= 500) { ... }
source share