今天在编程的时候,有一个功能是在MDI的父窗体中的一个子窗体跳转到另一个子窗体时 :编译没有问题但在执行时编译器报:被指定为此窗体的 MdiParent 的窗体不是 MdiContainer。代码是这样写的: (窗体名)XfrmNewAccount xfrm= new XfrmNewAccount(); xfrm . MdiParent = this ; xfrm.show();这是为什么呢?原来是指定的父窗体错误所致:平时我都是在父窗体中实例化子窗体。所以用
(窗体名)xfrm . MdiParent = this;没错;但这是在子窗体中实例化子窗体,就要明确指定父窗体。 即改成:
(子窗体名) xfrm . MdiParent = 父窗体名)XfrmMain.ActiveForm;
xfrm.Show();
这样执行没问题了。