title: Why windowstates are relative to each other?
body: <p><br/>I have 3 forms in my windows forms application. 
  <br/>1. is main form and it is mdiParent.
  <br/>2. is a mdiChild form which will shown in maximised state.
  <br/>3. is another mdiChild which will shown in normal state. </p>
  
  <p>when I open <code>form2</code> it will shown in maximised state but the problem is when I open <code>form3</code> in same time the <code>form3</code> is shown in maximised state too and when I change the state of <code>form3</code> to normal state manually in runtime (restore the window) the <code>form2</code> backs to normal state too. In other words: their states are relative to each other.<br/>There is the part of code which opens the <code>form3</code> inside of <code>form2</code> codes.<br/></p>
  
  <pre><code>private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
  {
      string str = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
      string str3 = dataGridView1.SelectedRows[0].Cells[2].Value.ToString();
      var str2 = dataGridView1.SelectedRows[0].Cells[0].Value ;
      Forms.frmTrack frm = new frmTrack();
      frm.CustomerID = (int)str2;
      frm.CompanyName = str;
      frm.CustomerName = str3;
      Classes.Function fn = new Classes.Function();
      frm.WindowState = FormWindowState.Normal;
      fn.ShowForm(frm, this.MdiParent);
      frm.WindowState = FormWindowState.Normal;
  }
  </code></pre>
  
  <p>and this is my <code>ShowForm()</code> function:</p>
  
  <pre><code>public void ShowForm(Form frmChild,Form frmParent)
  {
      bool formFound = false;
      foreach (Form item in frmParent.MdiChildren)
      {
          if (item.Name == frmChild.Name)
          {
              item.Activate();
  
              formFound = true;
          }
  
      }
      if (!formFound)
      {
          frmChild.MdiParent = frmParent;
          frmChild.Show();
      }
  }
  </code></pre>