我正在尝试获取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来构建基于Dynamic menu creation IoC的菜单项,但无法使其生效。 我在我的主要表单中有这个,然后应该得到正确的MDIParent。
public MDIParent1 Parent
{
get
{
return this;
}
}
希望有人能弄明白我的错误。
艾
答案 0 :(得分:0)
经过一些试验和错误后计算出来。
在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中的表单。
希望这有助于其他人。
艾