If you want that the
Elapsed
event should be fired only the first time the interval is passed, set
Enabled
to true and
AutoReset
to false for the timer.
Update: Set AutoReset for the timer to false and explicitly start it again in the elapsed event. Your Elapsed event should have something like this:
(sender as Timer).Start();
preferably in the finally block or at the end of try.