[英]MDI child form not staying open
我试图获得一个MDI子窗体,当我单击菜单栏项时显示
MDIParent1 parent = new MDIParent1();
public void NewForm(object sender, System.EventArgs e)
{
Form3 childForm = new Form3();
childForm.Show();
childForm.MdiParent = parent.Parent;
childForm.StartPosition = FormStartPosition.CenterParent;
}
如果我不设置MDIParent,则该表单位于其自己的类库中。当我设置父表单时,该表单加载并停留在该表单上并显示一秒钟,然后它消失了。
我正在使用AutoFac基于动态菜单创建IoC构建菜单项,但无法使其正常工作。 我以我的主要形式持有此文件,然后应该获得正确的MDIParent。
public MDIParent1 Parent
{
get
{
return this;
}
}
希望有人能找出我要去哪里。
爱丹
经过一番尝试和错误后弄清楚了。
在IMenuContainer中,我必须添加
MDIParent1 Parent { get; }
然后在我的ClassMenuBuilder中
MDIParent1 parent = new MDIParent1();
public void BuildMenu(IMenuContainer container)
{
parent = container.Parent;
}
public void NewForm(object sender, System.EventArgs e)
{
Form3 childForm = new Form3();
childForm.MdiParent = parent.Parent;
childForm.StartPosition = FormStartPosition.CenterParent;
childForm.Show();
}
现在,当我单击Form3打开按钮时,它将在MDIParent中打开表单。
希望这可以帮助其他人。
爱丹
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.