Почему состояния окон относительно друг друга?
У меня есть 3 формы в моем приложении форм Windows.
1. это основная форма, и это mdiParent.
2. это форма mdiChild, которая будет показана в развернутом состоянии.
3. это другой mdiChild, который будет показан в нормальном состоянии.
когда я открою form2
это будет показано в развернутом состоянии, но проблема в том, когда я открываю form3
в то же время form3
отображается в развернутом состоянии тоже, и когда я меняю состояние form3
в нормальное состояние вручную во время выполнения (восстановить окно) form2
возвращается в нормальное состояние тоже. Другими словами: их состояния относительно друг друга.
Есть часть кода, которая открывает form3
Внутри form2
коды.
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;
}
а это мой ShowForm()
функция:
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();
}
}