title: How to use a timer to wait?
body: <p>I am trying to delay events in my method by using a timer, however i do not necessarily understand how to use a timer to wait.</p>
  
  <p>I set up my timer to be 2 seconds, but when i run this code the last call runs without a 2 second delay.</p>
  
  <pre><code>Timer timer = new Timer();
  timer.Tick += new EventHandler(timer_Tick); // Everytime timer ticks, timer_Tick will be called
  timer.Interval = (1000) * (2);              // Timer will tick evert second
  timer.Enabled = true;                       // Enable the timer
  
  
  void timer_Tick(object sender, EventArgs e)
  {
      timer.Stop();
  }
  
  private void button1_Click(object sender, EventArgs e)
  {
      label1.Text = "first";
      timer.Start();
      label1.Text = "second";
  }
  </code></pre>
  
  <p>So when i click my button, it immediately shows label1 as "second", as opposed to changing to "first", waiting 2 seconds, then changing to "second". I have read lots of threads here about using timers instead of thread.sleep, but i cannot seem to find/figure out how to actually implement that.</p>