如何从MDI中的另一个子表单打开子表单?

时间:2017-10-19 05:12:39

标签: c# .net

我有一份MDI表格和两份儿童表格 我想要的是,当我点击MDI中的菜单按钮时,它应该打开登录表单,当登录时,从登录表单,点击按钮,我想关闭登录表单并打开第二个子表单 这是我正在尝试的代码,但它没有在MDI中打开,它在外面打开。请帮忙

this.Close();
frmAdmin frm = new frmAdmin();
frm.MdiParent = this.ParentForm;
frm.Dock = DockStyle.Fill;
 frm.Show();

2 个答案:

答案 0 :(得分:0)

重写代码如下

frmAdmin frm = new frmAdmin();
frm.MdiParent = this.ParentForm;
this.close();
frm.Dock = DockStyle.Fill;
 frm.Show();

答案 1 :(得分:0)

请勿从Login表单中调用第二个表单。打开Login表单作为模式对话框,并将登录结果返回到父表单,该表单将做出决定"基于登录结果和打开第二种形式。

// Login function in main form
using (var login = new LoginForm())
{
    if (login.ShowDialog() == DialogResult.Ok)
    {
        var admin = new AdminForm
        {
            MdiParent = this;
            Dock = DockStyle.Fill;
        }

        admin.Show();
    }
    else
    {
        // do something when login fails
    }
}

如果采用上述方法,则Login表单仅保留登录用户的责任。