title: How to delay the execution of a function in c#
body: <p>In my application, I need to delay the execution of a method for some time. For that I have used System.Windows.Forms.Timer.</p>
  
  <p>I have used the below code to initialize and start the timer.</p>
  
  <pre><code>Timer timer = new Timer();
  timer.Tick += Timer_Tick;
  timer.Interval = 3000;
  timer.Start();
  </code></pre>
  
  <p>In the Timer.Tick event I have called the method which should be delayed as given below.</p>
  
  <pre><code> private void Timer_Tick(object sender, EventArgs e)
      {
          DoSomethingElse();
          timer.Stop();
      }
  </code></pre>
  
  <p>This works perfectly. </p>
  
  <p>But I don't know Whether it is the exact method to delay the execution.</p>
  
  <p>Is there any other efficient way to achieve this?</p>
  
  <p>Please share your suggestions. Thanks in advance.</p>