title: What's the difference between Show(), ShowDialog() and Application.Run() functions?
body: <p>What's the difference between new Show(), ShowDialog() and Application.Run() functions?
  In <code>main</code> (winforms) I saw :</p>
  
  <pre><code>Application.Run(new Form1());
  </code></pre>
  
  <p>Then, for Form1, I also saw <code>Form1.Show()</code> with description: "Shows the control to the user."
  For ShowDialog, it said "Shows the form as a modal dialog box". </p>
  
  <p>What does this mean? </p>
  
  <p>What are each of their uses and which is most common?</p>