title: Singleton winform not displaying with Application.Run()
body: <p>Problem: <em>Executing the code below with Application.Run() with no parameters displays nothing.</em></p>
  
  <p>Background Information: I have a WinForms application that I'm running and I want the default form to be a singleton, and not show up when I first run Application.Run (I want full control of when to show it).</p>
  
  <p>In my Program.cs, using</p>
  
  <pre><code>Application.Run(Form1.Instance)
  </code></pre>
  
  <p>works perfectly, but I'm using Application.Run() with no parameters followed by Form1.Instance.Show() so that I can control when to hide and show my Form1. </p>
  
  <p>What am I missing here?</p>
  
  <p><strong>Program.cs:</strong></p>
  
  <pre><code>static class Program
  {
      [STAThread]
      static void Main()
      {
          Application.EnableVisualStyles();
          Application.SetCompatibleTextRenderingDefault(false);
          Application.Run();
          Form1.Instance.Show();
      }
  }
  </code></pre>
  
  <p><strong>Form1.cs:</strong></p>
  
  <pre><code>public partial class Form1 : Form
  {
      private static Form1 instance;
  
      public Form1()
      {
          InitializeComponent();
      }
  
      public static Form1 Instance
      {
          get
          {
              if (instance == null)
              {
                  instance = new Form1();
              }
              return instance;
          }
      }
  }
  </code></pre>