C# MDI子窗体未保持打开状态
我试图在单击菜单条项时显示MDI子窗体C# MDI子窗体未保持打开状态,c#,autofac,mdi,C#,Autofac,Mdi,我试图在单击菜单条项时显示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 = FormSta
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;
}
表单在它自己的类库中,如果我没有设置窗体加载的MDI父对象,并且在设置它显示的父对象时保持不动,那么它就消失了
我正在使用AutoFac根据生成菜单项,但无法使其正常工作。
我有我的主要形式,然后应该得到正确的父母在
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 open按钮时,它会在MDI父级中打开表单
希望这能帮助其他人
艾丹