title: Creating a delay in Text Appends with RichTextBox
body: <p>I'm trying to create a realistic console type game with C#, and what I need it to do is append text like this:</p>
  
  <blockquote>
    <p>hi<br>
    hello<br>
    awesome<br>
    nice  </p>
  </blockquote>
  
  <p>but instead of it going ALL at once, I want it to do this:</p>
  
  <blockquote>
    <p>hi<br>
    (2 second pause)<br>
    hello<br>
    (4 second pause)<br>
    awesome<br>
    (1 second pause)<br>
    nice</p>
  </blockquote>
  
  <p>I have tried this:</p>
  
  <pre><code>delegate void _pause(int time);
      void pause(int time)
      {
          if (txtInput.Text != "")
          {
              txtInput.Clear();
          }
  
          Stopwatch s = new Stopwatch();
          s.Start();
          while (s.Elapsed &lt; TimeSpan.FromSeconds(time))
          {
          }
          s.Stop();
          return;
      }
  </code></pre>
  
  <p>And then I can call it like this <code>Invoke(new _pause(pause),3);</code> but that basically freezes the thread! So it pastes all at once anyway, just a delay before
  the montage of paste! </p>
  
  <p>How can I do a smooth delay type system like I have described?</p>