title: What's the difference between Application.Run() and Form.ShowDialog()?
body: <p>In my application I want to show a login form first and then the main form if the login has been successful. Currently I'm doing it something like this:</p>
  
  <pre><code>var A = new LoginForm();
  if ( A.ShowDialog() == DialogResult.OK )
      Application.Run(new MainForm());
  </code></pre>
  
  <p>But then I started wondering - what's the point of the <code>Application.Run()</code>? Why not just do <code>(new MainForm()).ShowDialog()</code> as well? What's the difference? And what would be the correct way to achieve what I want?</p>