VisualC#中MDI窗体初步

原创 2006年05月23日 11:32:00

在VB中做 MDI窗体很简单。在C#里就没有这个轻松了,不过还是很方便的。

首先在C#里添加一个窗体,命名为MdiMain,将其IsMdiContainer设定成true,这样MDI主窗体就建立了。然后再添加新窗体,命名为MdiChild。现在运行程序,会发现只运行了MdiMain这个主窗体。呵呵因为我们没有写任何代码,第二个窗体当然不能出现了。现在来添加这个代码。

在MdiMain窗体上添加一个Menu,然后随便写个子菜单。双击子菜单,会出现它的Click事件,在这个事件内写如下代码:

MdiChild frmMdiChild=new MdiChild();
frmMdiChild.MdiParent=this;
frmMdiChild.Show();

这样在单击菜单项的时候就能显示MdiChild这个窗体了。但是这样会出现一个问题,就是说如果我按两次那个菜单项就会出现两个MdiChild窗体,呵呵,这是因为在C#中窗体就是一个Class,用刚才的代码就新建了一个MdiChild的实例。所以你按几次菜单项就会出现几个窗体了。控制的方法之一就是写一个变量,来存放是否打开了这个窗体,如果打开了就不继续执行了。这个小代码还是很简单的。

如果想通过程序关闭MdiChild窗体,只需在MdiChild里添加一个Button,在Button的Click事件里写上Close();就可以了。


MDI无菜单栏隐藏子窗体标题栏

  • 2017年11月21日 10:57
  • 174KB
  • 下载

C#解决MDI窗体闪屏的方法

最近从师兄手上接了一个C#的项目,需要用到MDI窗体,可是每当我显示子窗体的时候会有一次“闪烁”,很明显,看起来非常不爽,查找许久,知道是每次在show()子窗体的时候都会调用子窗体构造函数重绘窗体,...

MDI窗体应用ABCD

  • 2012年06月08日 14:54
  • 351KB
  • 下载

使用QT实现MDI风格的主窗体

QT提供了MDIArea控件可以很方便的实现标准的MDI窗体,但用起来并不方便.感觉像360浏览器一样通过页签来切换子窗体的方式比较好.点击菜单项或工具栏上的按钮创建新的页签,并生成一个子窗体.点击页...
  • henreash
  • henreash
  • 2012年05月31日 09:21
  • 13089

MDI窗体的简单应用

  • 2013年10月15日 16:11
  • 3KB
  • 下载

借鸡下蛋---MDI窗体显示无对齐属性控件

对于MDI(多文档界面窗体大家都不陌生,在寒假学习VB的时候我们学习过,在做百例的时候,做的例子是一个窗体显示   多首诗,对已打开的子窗体进行“层叠”、“平铺”、“垂直”与“排列图标”等项操作....

C#会员登录,MDI窗体

  • 2006年02月23日 09:05
  • 76KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VisualC#中MDI窗体初步
举报原因:
原因补充:

(最多只允许输入30个字)