2016年12月15日

时间:2021-09-17 19:24:58

多文档界面(Multiple-Document Interface)简称MDI窗体。MDI窗体用于同时显示多个文档,每个文档显示在各自的窗口中。MDI窗体中通常有包含子菜单的窗口菜单,用于在窗口或文档之间进行切换。

(1)首先要设定主窗体是一个MDI窗体的容器,因为只有如此才能够在此主窗体上面添加MDI窗体,从而实现对MDI编程,具体实现语句如下:

1   this.IsMdiContainer = true ;

(2)在主窗体上面新建一个MDI窗体。在程序中,新建一个MDI窗体的命令是通过一个菜单的事件来实现的。在处理新建一个MDI窗体事件中,关键是要设定此MDI窗体的父窗体。其实MDI窗体和别的窗体没有什么不同,,不同点就在MDI窗体有上一级窗体,即父窗体,而其他窗体是没有的,具体实现语句如下:

  Form frmTemp = new Form ( ) ;   //新建一个窗体   frmTemp.MdiParent = this ;   //定义此窗体的父窗体,从而此窗体成为一个MDI窗体   frmTemp.Text = "窗体0" + FormCount.ToString ( ) ;   //设定MDI窗体的标题   FormCount++ ;   frmTemp.Show ( ) ;   //把此MDI窗体显示出来

(3)实现对MDI窗体的层叠:
  对于在主窗体中实现对MDI窗体的层叠操作,在主程序中,是通过一个方法来实现的,这个方法就是LayoutMdi,他所带的参数是MdiLayout.Cascade,具体实现语句如下:

  this.LayoutMdi ( MdiLayout.Cascade ) ;

实现操作后具体如下图:

(4)实现对MDI窗体的水平平铺:
  要在主窗体实现MDI窗体水平平铺,也是通过LayoutMdi方法,此时所带的参数是MdiLayout.TileHorizontal,具体实现语句如下:

  this.LayoutMdi ( MdiLayout.TileHorizontal ) ;

实现操作后具体如下图:

(5)实现对MDI窗体的垂直平铺:
  要在主窗体实现MDI窗体垂直平铺,也是通过LayoutMdi方法,此时所带的参数是MdiLayout.TileVertical,具体实现语句如下:

  this.LayoutMdi ( MdiLayout.TileVertical ) ;

实现操作后具体如下图:

(6)在有些MDI程序,当新建一个MDI窗体以后,在菜单项的下面生产一个以此MDI窗体的名称为名称的子菜单项。只有在要加入的主菜单项下加入下面一句程序就可以了:

某个菜单.MdiList = true ;

设计界面设置方法:

程序运行界面具体如下图:

MDI窗体容器--2016年12月15日