Почему состояния окон относительно друг друга?


У меня есть 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();
    }
}

0 ответов

Другие вопросы по тегам