title: C# Windows Form created by EventHandler disappears immediately
body: <p>I don't know why this is happening, but when I create a new form inside an EventHandler, it disappears as soon as the method is finished.</p>
  
  <p>Here's my code.  I've edited it for clarity, but logically, it is exactly the same.</p>
  
  <pre><code>static void Main()
  {
      myEventHandler = new EventHandler(launchForm);
      // Code that creates a thread which calls
      // someThreadedFunction() when finished.
  }
  
  private void someThreadedFunction()
  {
      //Do stuff
  
      //Launch eventhandler
      EventHandler handler = myEventHandler;
      if (handler != null)
      {
          handler(null, null);
          myEventHandler = null;
      }
  }
  
  private void launchForm(object sender, EventArgs e)
  {
      mf = new myForm();
      mf.Show();
      MessageBox.Show("Do you see the form?");
  }
  
  private myForm mf;
  private EventHandler myEventHandler;
  </code></pre>
  
  <p>The new form displays as long as the MessageBox "Do you see the form?" is there.  As soon as I click OK on it, the form disappears.</p>
  
  <p>What am I missing?  I thought that by assigning the new form to a class variable, it would stay alive after the method finished.  Apparently, this is not the case.</p>