title: WinForm set to be Maximized shows up too early in the cycle
body: <p>Code for the form:</p>
  
  <pre><code>public partial class Foo: Form
  {
      public Foo()
      {
          InitializeComponent();
      }
  
      protected override void OnLoad(EventArgs e)
      {
          // Form already visible here when Maximized from calling code
          base.OnLoad(e);
      }
  }
  </code></pre>
  
  <p>Calling code:</p>
  
  <pre><code>Foo foo = new Foo();
  foo.WindowState = FormWindowState.Maximized;
  foo.ShowDialog();
  </code></pre>
  
  <p>When the code enters the OnLoad event, the Foo form is already displayed on the screen.  If I remove the <code>foo.WindowState = FormWindowState.Maximized</code> statement, then the Foo form is not visible in the OnLoad event (as it should be).</p>
  
  <p>Why is it and what can I do to fix the issue?  The issue being that when the form is set to Maximized, it shows up too early in the cycle.</p>
  
  <p>Note that there is a <a href="https://stackoverflow.com/questions/9806651/setting-windowstate-to-maximized-causes-window-to-appear-too-early">similar</a> question, but it focused on UI antics and didn't really address the problem.</p>