This is what I did. I created a method at the just below the the mdi form constructor like below:
public MainRibbonForm()
{
InitializeComponent();
}
private void SetMaximizedChildFormsToNormal()
{
foreach (Form form in this.MdiChildren)
{
form.WindowState = FormWindowState.Normal;
}
}
Then where the form form is being called I call the above method before. Like below:
this.SetMaximizedChildFormsToNormal();
AreaOfLawViews.AreaOfLawMetroForm appForm = new AreaOfLawViews.AreaOfLawMetroForm()
{
MdiParent = this,
StartPosition = FormStartPosition.CenterScreen,
WindowState = FormWindowState.Maximized
};
appForm.Show();
So, the already opened form is set to Normal before the new form is opened and maximized. It is working for me already.
I hope this helps.