title: What makes an app console or Windows Form application?
body: <p>[Visual Studio 2008]</p>
  
  <p>I created a new project for console application and modified it to look like this:</p>
  
  <pre><code>class Program
  {
      static void Main (string[] args) {
          Thread.Sleep (2000);
      }
  }
  </code></pre>
  
  <p>Then I created another project for Windows Form application and modified it:</p>
  
  <pre><code>
  static class Program
  {
      //[STAThread] commented this line
      static void Main (string[] args) { //Added args
          //Commented following lines
          //Application.EnableVisualStyles ();
          //Application.SetCompatibleTextRenderingDefault (false);
          //Application.Run (new Form1 ()); commented this line
          Thread.Sleep (2000);
      }
  }
  </code></pre>
  
  <p>Now I have neither written Console functions (Console.Write etc.) in first application nor I have written forms related operations in second one. Looks identical to me.</p>
  
  <p>Still first application shows BLACK window and second one doesn't show anything. What makes it work like this?</p>