C# MDI Form

A Multiple Document Interface (MDI) programs can display multiple child windows inside them. This is in contrast to single document interface (SDI) applications, which can manipulate only one document at a time. Visual Studio Environment is an example of Multiple Document Interface (MDI) and notepad is an example of an SDI application. MDI applications often have a Window menu item with submenus for switching between windows or documents.

C# mdiform

Any windows can become an MDI parent, if you set the IsMdiContainer property to True.

IsMdiContainer = true;

The following C# program shows a MDI form with two child forms. Create a new C# project, then you will get a default form Form1 . Then add two mnore forms in the project (Form2 , Form 3) . Create a Menu on your form and call these two forms on menu click event. Click here to see how to create a Menu on your form How to Menu Control C#.

NOTE: If you want the MDI parent to auto-size the child form you can code like this.

form.MdiParent = this; form.Dock=DockStyle.Fill; form.Show();
Full Source C#
using System; using System.Drawing; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { IsMdiContainer = true; } private void menu1ToolStripMenuItem_Click(object sender, EventArgs e) { Form2 frm2 = new Form2(); frm2.Show(); frm2.MdiParent = this; } private void menu2ToolStripMenuItem_Click(object sender, EventArgs e) { Form3 frm3 = new Form3(); frm3.Show(); frm3.MdiParent = this; } } }