MDI窗體的相關學習使用 1、設置MDI父窗體 在屬性中找到IsMdiContainer選項,設置為True 2、添加MDI子窗體,在項目中依次選擇添加->窗體,然後一直預設即可 添加後的項目目錄(Form1為父視窗,Form2、Form3為子視窗) 3、在Form1.cs中,創建對應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則是用於後端業務處理,實現複雜的邏輯和功能,包含了窗體類的代碼邏輯,例如控制項的初始化、事件處理等。