关于MDI窗口的问题

wwxc18 2004-01-24 10:16:59
假如:
MDIForm这个作为MDI主窗体
class1这个是独立出来用来控制子窗体的类
Form这个是MDI子窗体

我想通过class1来构造Form,
Form Form=new Form();
MDIForm.MdiParent=this; //他却说我的this错误;
Form.Show();

尔后,我把以上的语句做成MDIForm里的一个方法aa(),这样MDIForm里的aa()又不被我的class1访问,现在真的不知道怎么办?
...全文
42 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
devas 2004-01-24
  • 打赏
  • 举报
回复
如果 MDIForm 是主窗体 , Form 是MDI子窗体:

在MDIForm 的构造函数中
MDIForm.IsMdiContainer=true;

Form form = new Form();
form.MdiParent = mdiForm ;
wwxc18 2004-01-24
  • 打赏
  • 举报
回复
楼上的,能不能给我具体的解决办法呢?
zengch24 2004-01-24
  • 打赏
  • 举报
回复
在class1中,MDIForm.MdiParent = this,这里有点问题,首先MDIForm应当为生成窗体对象,this应当为MDIForm的指针。解决办法可能可以这样,将MDIForm的引用传递给Class1。
zengch24 2004-01-24
  • 打赏
  • 举报
回复
wd_318的方法,同意。而且,由Class1生成的对象可以调用MDIForm中的公有函数
qazsw 2004-01-24
  • 打赏
  • 举报
回复
Form Form=new Form();
Form.MdiParent=MDIForm;
Form.Show();
wd_318 2004-01-24
  • 打赏
  • 举报
回复
1) Class1.cs:

public class Class1
{
private MDIForm _MdiForm;
public class1(MDIForm mdiform)
{
_MdiForm=mdiform;
.......
}

private void newform()
{
Form form1=new Form();
form1.MdiParent=_MdiForm;
form1.Show();
}
}


2)MdiForm.cs中创建Class1的实例时请用下面语句:

Class1 class1= new Class1(this);

110,501

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧