title: Using Timer only once
body: <p>I want to use a timer only once, at 1 second after the initialization of my main form.
  I thought the following would have a message box saying "Hello World" just once, but actually a new message box says "Hello World" every one second.</p>
  
  <p>Why so? I had put <code>t.Stop()</code> in the tick event.
  Also, do I need to dispose the timer somehow to avoid memory leakage?</p>
  
  <pre><code>        Timer t = new Timer();
          t.Interval = 1000;                
          t.Tick += delegate(System.Object o, System.EventArgs e)
                          { MessageBox.Show("Hello World"); t.Stop(); };
  
          t.Start();   
  </code></pre>
  
  <p>Please help and show if there is a better way of doing this?
  Thanks.</p>