在 Windows 窗體應用程序中,經(jīng)常會(huì )在一個(gè)窗體中打開(kāi)另一個(gè)窗體, 通過(guò)窗體上的不同菜單選擇不同的操作,這種在一個(gè)窗體中打開(kāi)另一個(gè)窗體的方式可以通過(guò)設置 MDI 窗體的方式實(shí)現。
MDI (Multiple Document Interface) 窗體被稱(chēng)為多文檔窗體,它是很多 Windows 應用程序中常用的界面設計。
MDI 窗體的設置并不復雜,只需要將窗體的屬性 IsMdiContainer 設置為 True 即可。
該屬性既可以在 Windows 窗體的屬性窗口中設置,也可以通過(guò)代碼設置,這里在窗體加載事件 Load 中設置窗體為 MDI 窗體,代碼如下。
this.IsMdiContainer = True;
此外,還可以在窗體類(lèi)的構造方法中加入上面的代碼。
在設置 MDI 窗體以后,窗體的運行效果如下圖所示。
在 MDI 窗體中,彈出窗體的代碼與直接彈出窗體有些不同,在使用 Show 方法顯示窗體前需要使用窗體的 MdiParent 設置顯示當前窗體的父窗體,實(shí)現的代碼如下。
- Test t = new Test();
- t.MdiParent = this;
- t.Show();
Test t = new Test();t.MdiParent = this;t.Show();
這里,
this代表的是當前窗體。
下面通過(guò)實(shí)例來(lái)演示 MDI 窗體的使用。
【實(shí)例】創(chuàng )建 MDI 窗體,并在該窗體上設置菜單,包括打開(kāi)文件、保存文件兩個(gè)菜單項。
根據題目要求創(chuàng )建名為 MDIForm 的窗體,并設置該界面為 MDI 窗體,然后為該界面添加一個(gè)菜單和兩個(gè)菜單項,界面設計如下圖所示。
創(chuàng )建打開(kāi)文件窗體和保存文件窗體,并分別通過(guò)菜單項的單擊事件在 MDI 窗體中打開(kāi)相應的窗體,代碼如下。
- public partial class MDIForm : Form
- {
- public MDIForm()
- {
- InitializeComponent();
- this.IsMdiContainer = true;
- }
- //打開(kāi)文件菜單項的單擊事件
- private void 打開(kāi)文件ToolStripMenuItem_Click(object sender, EventArgs e)
- {
- OpenFile f = new OpenFile();
- f.MdiParent = this;
- f.Show();
- }
- //保存文件菜單項單擊事件
- private void 保存文件ToolStripMenuItem_Click(object sender, EventArgs e)
- {
- SaveFile f = new SaveFile();
- f.MdiParent = this;
- f.Show();
- }
- }
public partial class MDIForm : Form{ public MDIForm() { InitializeComponent(); this.IsMdiContainer = true; } //打開(kāi)文件菜單項的單擊事件 private void 打開(kāi)文件ToolStripMenuItem_Click(object sender, EventArgs e) { OpenFile f = new OpenFile(); f.MdiParent = this; f.Show(); } //保存文件菜單項單擊事件 private void 保存文件ToolStripMenuItem_Click(object sender, EventArgs e) { SaveFile f = new SaveFile(); f.MdiParent = this; f.Show(); }}運行該窗體并單擊“打開(kāi)文件”菜單項,界面如下圖所示。
從運行效果可以看出,打開(kāi)文件窗體(OpenFile)在 MDI 窗體(MDIForm)中打開(kāi)。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。