【C#】【WinForm】MDI窗体
  4KCgAKgIRRBi 2023年11月02日 42 0

MDI窗体的相关学习使用

1、设置MDI父窗体

 在属性中找到IsMdiContainer选项,设置为True

2、添加MDI子窗体,在项目中依次选择添加->窗体,然后一直默认即可

 添加后的项目目录(Form1为父窗口,Form2、Form3为子窗口)

 3、在Form1.cs中,创建对应MDI子窗口的对象并调用显示出来

 1 namespace WindowsFormsApp1
 2 {
 3     public partial class Form1 : Form
 4     {
 5         public Form1()
 6         {
 7             InitializeComponent();
 8         }
 9 
10         private void Form1_Load(object sender, EventArgs e)
11         {
12             Form form2 = new Form2();
13             form2.Show();
14             form2.MdiParent = this;
15             Form form3 = new Form3();
16             form3.Show();
17             form3.MdiParent = this;
18         }
19     }
20 }

保存运行后即可显示出所有子窗口。

 

4、将子窗口按照特定方式排列显示

所需控件(菜单和工具栏 -> Menu Strip)

在设计界面依次添加Items

 将每个Items都双击依次,然后在Form1.cs文件中添加如下代码:

        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)
        {
            LayoutMdi(MdiLayout.Cascade);
        }

完整Form1.cs代码:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Threading.Tasks;
 9 using System.Windows.Forms;
10 
11 namespace WindowsFormsApp1
12 {
13     public partial class Form1 : Form
14     {
15         public Form1()
16         {
17             InitializeComponent();
18         }
19 
20         private void Form1_Load(object sender, EventArgs e)
21         {
22             Form form2 = new Form2();
23             form2.Show();
24             form2.MdiParent = this;
25             Form form3 = new Form3();
26             form3.Show();
27             form3.MdiParent = this;
28         }
29 
30         private void 水平排列ToolStripMenuItem_Click(object sender, EventArgs e)
31         {
32             LayoutMdi(MdiLayout.TileHorizontal);
33         }
34 
35         private void 垂直排列ToolStripMenuItem_Click(object sender, EventArgs e)
36         {
37             LayoutMdi(MdiLayout.TileVertical);
38         }
39 
40         private void 层叠排列ToolStripMenuItem_Click(object sender, EventArgs e)
41         {
42             LayoutMdi(MdiLayout.Cascade);
43         }
44     }
45 }

 

 

关于  Form.cs  Form1.Designer.cs  Form1.cs[设计]  这三个文件的作用:

Form1.cs[设计]为前端界面设计器,和QT中的Designer相同,通过图形化界面设计应用的展示效果,简化前端的工作量。

Form1.Designer.cs则是通过设计器设置后的界面后,同步生成对应的前端代码存放文件,主要用于定义窗体的布局、控件的位置和属性等

Form.cs则是用于后端业务处理,实现复杂的逻辑和功能,包含了窗体类的代码逻辑,例如控件的初始化、事件处理等。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  NPQODODLqddb   2024年05月17日   69   0   0 .NET
  mVIyUuLhKsxa   2024年05月17日   53   0   0 .NET
  XkHDHG7Y62UM   2024年05月17日   45   0   0 .NET
  f18CFixvrKz8   2024年05月18日   86   0   0 .NET
  rBgzkhl6abbw   2024年05月18日   78   0   0 .NET
  MYrYhn3ObP4r   2024年05月17日   41   0   0 .NET
  S34pIcuyyIVd   2024年05月17日   60   0   0 .NET
  gKJ2xtp6I8Y7   2024年05月17日   50   0   0 .NET
  MYrYhn3ObP4r   2024年05月17日   39   0   0 .NET
4KCgAKgIRRBi