0


我的 Windows 窗体应用程序中有 3 个窗体。
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();
    }
}
4

0 回答 0