翼度科技»论坛 编程开发 .net 查看内容

【C#】【WinForm】MDI窗体

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
MDI窗体的相关学习使用
1、设置MDI父窗体

 在属性中找到IsMdiContainer选项,设置为True
2、添加MDI子窗体,在项目中依次选择添加->窗体,然后一直默认即可

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

 3、在Form1.cs中,创建对应MDI子窗口的对象并调用显示出来
  1. 1 namespace WindowsFormsApp1
  2. 2 {
  3. 3     public partial class Form1 : Form
  4. 4     {
  5. 5         public Form1()
  6. 6         {
  7. 7             InitializeComponent();
  8. 8         }
  9. 9
  10. 10         private void Form1_Load(object sender, EventArgs e)
  11. 11         {
  12. 12             Form form2 = new Form2();
  13. 13             form2.Show();
  14. 14             form2.MdiParent = this;
  15. 15             Form form3 = new Form3();
  16. 16             form3.Show();
  17. 17             form3.MdiParent = this;
  18. 18         }
  19. 19     }
  20. 20 }
复制代码
保存运行后即可显示出所有子窗口。
 
4、将子窗口按照特定方式排列显示
所需控件(菜单和工具栏 -> Menu Strip)
在设计界面依次添加Items

 将每个Items都双击依次,然后在Form1.cs文件中添加如下代码:
  1.         private void 水平排列ToolStripMenuItem_Click(object sender, EventArgs e)
  2.         {
  3.             LayoutMdi(MdiLayout.TileHorizontal);
  4.         }
  5.         private void 垂直排列ToolStripMenuItem_Click(object sender, EventArgs e)
  6.         {
  7.             LayoutMdi(MdiLayout.TileVertical);
  8.         }
  9.         private void 层叠排列ToolStripMenuItem_Click(object sender, EventArgs e)
  10.         {
  11.             LayoutMdi(MdiLayout.Cascade);
  12.         }
复制代码
完整Form1.cs代码:
  1. 1 using System;
  2. 2 using System.Collections.Generic;
  3. 3 using System.ComponentModel;
  4. 4 using System.Data;
  5. 5 using System.Drawing;
  6. 6 using System.Linq;
  7. 7 using System.Text;
  8. 8 using System.Threading.Tasks;
  9. 9 using System.Windows.Forms;
  10. 10
  11. 11 namespace WindowsFormsApp1
  12. 12 {
  13. 13     public partial class Form1 : Form
  14. 14     {
  15. 15         public Form1()
  16. 16         {
  17. 17             InitializeComponent();
  18. 18         }
  19. 19
  20. 20         private void Form1_Load(object sender, EventArgs e)
  21. 21         {
  22. 22             Form form2 = new Form2();
  23. 23             form2.Show();
  24. 24             form2.MdiParent = this;
  25. 25             Form form3 = new Form3();
  26. 26             form3.Show();
  27. 27             form3.MdiParent = this;
  28. 28         }
  29. 29
  30. 30         private void 水平排列ToolStripMenuItem_Click(object sender, EventArgs e)
  31. 31         {
  32. 32             LayoutMdi(MdiLayout.TileHorizontal);
  33. 33         }
  34. 34
  35. 35         private void 垂直排列ToolStripMenuItem_Click(object sender, EventArgs e)
  36. 36         {
  37. 37             LayoutMdi(MdiLayout.TileVertical);
  38. 38         }
  39. 39
  40. 40         private void 层叠排列ToolStripMenuItem_Click(object sender, EventArgs e)
  41. 41         {
  42. 42             LayoutMdi(MdiLayout.Cascade);
  43. 43         }
  44. 44     }
  45. 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】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具