title: Making a thread wait two seconds before continuing in C# WPF
body: <p>I'm having trouble making a thread wait for two seconds without blocking the GUI. The most simple wait method I know is <code>Thread.Sleep(2000);</code>. If you can use some examples of timers or others that I'm not aware of, please do because I'm not too familiar with the ways of coding.</p>
  
  <pre><code>private void run_program_Click(object sender, RoutedEventArgs e)
  {
      if (comboBox1.Text == "Drive forwards and back")
      {
          stop.IsEnabled = true;
  
          EngineA(90); //Makes EngineA drive at 90% power
          EngineB(90); //Makes EngineB drive at 90% power
  
          // Basicly it has to wait two seconds here
  
          EngineA(-90); // -90% power aka. reverse
          EngineB(-90); // -90% power
  
          // Also two seconds here
  
          EngineA(0); // Stops the engine
          EngineB(0); // Stops
          EngineC();
       }
  }
  </code></pre>