C#应用程序界面开发基础——窗体控制(2)——MDI窗体

C#应用程序界面开发基础——窗体控制(2)——MDI窗体MDI窗体

MDI窗体

单文档界面(SDI)

多文档界面(MDI)

MDI窗体的概念

MDI窗体(Multiple-Document Interface,多文档界面)用于同时显示多个文档。

在项目中使用MDI窗体时,通常将一个MDI窗口窗体作为父窗体,父窗体可以将多个子窗体包容在它的工作区之中。

设置MDI窗体

1、MDI容器窗体

将某个窗体设置为窗口窗体,有两种方法:

1、在窗体的“属性”面板中,将IsMidContainer属性设置为True即可。

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

False:

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

 True:

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

2、在窗体的Load事件中加入以下语句

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

代码如下:

using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.IsMdiContainer = true;
        }
    }
}

2、设置MDI子窗体

MDI子窗体就是一般的窗体。只需要将某个窗体实例的MdiParent属性设置到一个MDI父窗体,它就是那位父窗体的子窗体,语法格式如下:

窗体实例名.MdiParent=父窗体对象;

  设置MDI容器:

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

修改后:

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

从Form5属性里,通过Name属性来进行修改为“MainForm”

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

修改后:

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

Text属性表示窗体标题,修改为“MDI窗体”

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

修改后: 

 C#应用程序界面开发基础——窗体控制(2)——MDI窗体

 新建子窗体(Form1.cs、Form2.cs、Form3.cs、Form4.cs): 

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

代码内容:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Form5
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
        }

        private void MainForm_Load(object sender, EventArgs e)
        {
            Form1 form1 = new Form1();
            form1.Show();
            form1.MdiParent = this;
            Form2 form2 = new Form2();
            form2.Show();
            form2.MdiParent = this;
            Form3 form3 = new Form3();
            form3.Show();
            form3.MdiParent = this;
            Form4 form4 = new Form4();
            form4.Show();
            form4.MdiParent = this;
        }
    }
}

完成后:

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

运行结果如下:

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

排列MDI窗体

语法格式如下:

public void LayoutMdi(MdiLayout value)

value是MdiLayout的枚举值之一,用来定义MDI子窗体的布局。

MdiLayout的枚举成员
枚举成员 说明
Cascade 层叠排列MDI子窗体
TileHorizontal 水平平铺MDI子窗体
TileVertical 垂直平铺MDI子窗体

新建一个Windows窗体应用程序,在Name属性中将窗体唯一标识符命名为MainForm,并且在Text属性中,将主窗体的标题命名为“MDI窗体”。

在菜单栏中选择“视图”命令 ,再选择“工具箱”命令,就会弹出工具箱。

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

在工具箱中选择MenuStrip控件,此时就会在窗体中出现一排菜单栏,并依次输入“新建窗体”、“层叠排列”、“水平平铺”、“垂直平铺”、“关闭”。

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

接着,再将IsMdiContainer属性设置为True。

再创建一个子窗体,并命名为“ChildForm”,下面就可以通过双击菜单项,进行添加事件。 

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Form5
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
        }

        private void MainForm_Load(object sender, EventArgs e)
        {
            Form1 form1 = new Form1();
            form1.Show();
            form1.MdiParent = this;
            Form2 form2 = new Form2();
            form2.Show();
            form2.MdiParent = this;
            Form3 form3 = new Form3();
            form3.Show();
            form3.MdiParent = this;
            Form4 form4 = new Form4();
            form4.Show();
            form4.MdiParent = this;
        }

        private void 新建窗体ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ChildForm mychildForm=new ChildForm();
            mychildForm.Show();
            mychildForm.MdiParent = this;
        }

        private void 层叠排列ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayoutMdi(MdiLayout.Cascade);
        }

        private void 水平平铺ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayoutMdi(MdiLayout.TileHorizontal);
        }

        private void 垂直平铺ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayoutMdi(MdiLayout.TileVertical);
        }

        private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Close();
        }
    }
}

运行结果如下:

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

点击新建窗体:

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

层叠排列:

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

水平平铺:

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

垂直平铺: 

C#应用程序界面开发基础——窗体控制(2)——MDI窗体

今天的文章C#应用程序界面开发基础——窗体控制(2)——MDI窗体分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/30076.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注