title: C# calling form.show() from another thread
body: <p>if I call <code>form.show()</code> on a WinForms object from another thread, the form will throw an exception.  Is where any way I can add a new, visible form to the main app thread?   Otherwise, how can I open the form without stopping my currently executing thread?</p>
  
  <p>Here is my sample code.  I am attempting to start a thread and then execute some work within that thread.  As the work progresses, I will show the form.</p>
  
  <pre><code>public void Main()
  {
      new Thread(new ThreadStart(showForm)).Start();
      // Rest of main thread goes here...
  }
  
  public void showForm() 
  {
      // Do some work here.
      myForm form = new myForm();
      form.Text = "my text";
      form.Show();
      // Do some more work here
  }
  </code></pre>