VS2005中C#的MDI编程

Visual C# 是微软公司推出的下一代主流程序开发语言,他也是一种功能十分强大的程序设计语言,正在受到越来越多的编程人员的喜欢。在Visual C# .net 中,提供了为实现MDI程序设计的很多功能。本文就是通过一个具体的例子来详细的介绍在VS2005 下的 C# 中的MDI编程。
    一 程序设计及运行的环境:
   (1)操作系统:win2K/XP
   (2)VS2005

    二 程序设计的思路、主要步骤和实现方法:
       MDI编程主要就是要在主窗体中能够新建一个MDI窗体,并且能够对主窗体中的所有MDI窗体实现层叠、水平平铺 和垂直平铺。虽然这些操作比较基本,但却是程序设计中的要点和重点。本文就按照上述功能的顺序来一一介绍。
       (1)首先要新建一个窗体作为主窗体 ,设定主窗体是一个MDI。因为只有如此才能够在此主窗体上面添加MDI窗体,从而实现对MDI编程,具体实现操作如下:
        在编辑器里打开新建的Form窗体代码,找到InitializeComponent()方法,在方法体里加入this.IsMdiContainer = true ;
       或者在窗体设计器的属性里有一个IsMdiContainer 项,设为true可实现同样的效果。

      (2)实现在主窗体上面新建一个MDI窗体。在程序中,新建一个MDI窗体的命令是通过一个菜单的事件来实现的。在处理新建一个MDI窗体事件中,关键是要设定此MDI窗体的父窗体。其实MDI窗体和别的窗体没有什么不同,不同点就在MDI窗体有上一级窗体,即父窗体,而其他窗体是没有的,具体实现操作如下:
         在主窗体上拖放一个菜单控件,新建一个菜单项。然后双击此菜单项,vs2005自动生成一个方法事件,就在这个方事件里加入{}里的代码:
         private void New_Click ( object sender , EventArgs e )//这是一个菜单的事件
         {
               Form frmTemp = new Form ( ) ;      //新建一个窗体
               frmTemp.MdiParent = this ;      //定义此窗体的父窗体,从而此窗体成为一个MDI窗体
               frmTemp.Text = "窗体0" + FormCount.ToString ( ) ;      //设定MDI窗体的标题
               FormCount++ ;
               frmTemp.Show ( ) ; //把此MDI窗体显示出来
         }

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

        在主窗体上拖放一个菜单控件,新建一个菜单项。然后双击此菜单项,vs2005自动生成一个方法事件,就在这个方事件里加入{}里的代码:
        private void Cascade_Click ( object sender , EventArgs e ) // 实现对主窗体中的MDI窗体的层叠操作
        {
              this.LayoutMdi ( MdiLayout.Cascade ) ;
        } 

      (4)实现对MDI窗体的水平平铺:
    要在主窗体实现MDI窗体水平平铺,也是通过LayoutMdi方法,此时所带的参数是MdiLayout.TileHorizontal,具体实现操作如下:
    在主窗体上拖放一个菜单控件,新建一个菜单项。然后双击此菜单项,vs2005自动生成一个方法事件,就在这个方事件里加入{}里的代码:
        private void TileH_Click ( object sender , EventArgs e ) // 实现对主窗体中的MDI窗体的水平平铺操作
        {
               this.LayoutMdi ( MdiLayout.TileHorizontal ) ;
        }

    (5)实现对MDI窗体的垂直平铺:
     主窗体实现MDI窗体垂直平铺,也是通过LayoutMdi方法,此时所带的参数是MdiLayout.TileVertical,具体实现操作如下:
     在主窗体上拖放一个菜单控件,新建一个菜单项。然后双击此菜单项,vs2005自动生成一个方法事件,就在这个方事件里加入{}里的代码:
        private void TileV_Click ( object sender , EventArgs e ) // 实现对主窗体中的MDI窗体的垂直平铺操作
         {
                this.LayoutMdi ( MdiLayout.TileVertical ) ;
        }

    (6)在有些MDI程序,当新建一个MDI窗体以后,往往会在某些菜单项的下面生产一个以此MDI窗体的名称为名称的子菜单项。在其他语言中要实现这种功能,可能就要在某些主菜单项下动态的加入子菜单了。但是在Visual C#中实现此种功能,就显得比较简单的,只要在要加入的主菜单项下加入下面一句程序就可以了:
WindowMenu.MdiList = true ; 本程序中,是在"窗口"主菜单项下面加入MDI窗体的子菜单项的。


  三. 总结:


本文主要是介绍如何用C#来实现对MDI窗体的编程。即:新建MDI窗体、MDI窗体层叠、MDI窗体水平平铺、MDI窗体的垂直平铺。通过上述介绍,可见,在Visual C#中处理MDI还是相当比较简单的。

本文来自CSDN博客,转载请标明出处:

郑重声明:资讯 【VS2005中C#的MDI编程】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——