【发布时间】:2015-11-16 18:33:16
【问题描述】:
希望我能尽可能清楚地说明这一点
我有 3 种形式:frmMain、frmLogin 和 frmDashboard。
当应用程序打开时,frmMain 作为 mdiParent 打开,frmLogin 作为 mdiChild。用户输入正确的凭据后,frmLogin 将隐藏,frmDashboard 作为frmMain 的子项打开。
问题是我似乎无法让 frmMain 成为 frmDashboard 的父级,因为它是从 frmLogin 打开的
frmLogin登录按钮点击代码如下:
if (account_exist == true)
{
MessageBox.Show("Welcome back ");
frmDashboard f = new frmDashboard();
f.Show();
this.Hide();
}
谁能帮我用最好的方法来完成这个?
【问题讨论】:
-
frmLogin.Parent = frmDashboard;不起作用(显然用变量名替换类型名)? -
如果没有可靠地重现问题的a good, minimal, complete code example,就无法确定导致问题的原因。请改进您的问题,使其包含一个好的代码示例。另外,请准确地说明代码的作用以及它与您想要或期望的有何不同。
-
除了 Hans 所说的,MDI 总体上越来越被视为“糟糕的 UI”,并且对 MDI 的支持正在减弱(在这一点上更像是遗留而不是其他任何东西),我如果可以的话,我会尽量避免 MDI。
-
我正在完成一项学校作业,而 MDI 是老师教的内容,也是教学大纲中的内容。感谢@PeterDuniho 和其他人帮助我改进这个问题,而不是仅仅投反对票,如果还有什么我应该添加的,请告诉我。
-
@Kefash 抱歉,应该是
f.MdiParent = this.MdiParent。见msdn.microsoft.com/en-us/library/…