【C#】【WinForm】MDI窗体
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则是用于后端业务处理,实现复杂的逻辑和功能,包含了窗体类的代码逻辑,例如控件的初始化、事件处理等。
来源:https://www.cnblogs.com/vangoghpeng/archive/2023/10/24/17785763.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页:
[1]