title: Make a .net System.Timers.Timer fire immediately
body: <p>I am using a Timer to run an event periodically on a reasonably long interval (2 minutes). This is working fine. However I would like the event to fire immediately when the timer is created (instead of waiting 2 minutes).</p>
  
  <p>Note that I can't do this just by calling the method, since it takes some time to run and would block the application. I need the timer to fire as normal and run the event in a separate thread.</p>
  
  <p>The best way I can think of doing this at the moment is subclassing the timer and creating a <code>TriggerManually</code> method that would do something like this:</p>
  
  <ul>
  <li>Turn auto reset off </li>
  <li>Set the interval to 1ms</li>
  <li>Enable the timer</li>
  </ul>
  
  <p>This would trigger the elapsed event straight away, and I could put all the settings back to normal. </p>
  
  <p>Seems a bit roundabout though. Is there a better way to do it?</p>