Aug 27, 2009

Multiple Document Interface (MDI) form

Multiple Document Interface (MDI) form –

MDI form closely resembles a standard form with one major difference – the client area of an MDI form acts as a kind of container for other forms. It means that an MDI form also called an MDI parent form, can display MDI children in it, which is how the multiple document interfaces work.
Creating MDI Applications :
MDI forms are useful when the users want to open more than one document at a time.






















Creating MDI Child Windows in Code :
For adding MDI child windows into our MDI parent form, first I’ll create a form class MDIChild and then i’ll create MDI child windows by creating and displaying a new object of the class each time the user clicks on New Option in File Menu bar in application. To make that new form object a child window of the MDI parent, MDIparent, we have to set its MdiParent property to the main window which also sets its IsMdiChild property to True. For working with number of child windows we need to store them in a array of forms.
Steps :
1. Add RichtextBox to MDIChild (to second form)
2. Set Dock property of Richtextbox to fill by clicking on the square shaped button in the properties window










3. Add following code in MDIParent.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace MyWinForms
{
public partial class MDIParent : Form
{
int NumberofForms = 0;
MDIChild[] Forms = new MDIChild[11];
public MDIParent()
{
InitializeComponent();
}
private void MDIParent_Load(object sender, EventArgs e)
{
}
private void newToolStripMenuItem_Click(object sender, EventArgs e)
{
NumberofForms +=1;
Forms[NumberofForms] = new MDIChild();
Forms[NumberofForms].Text = "Document" + Convert.ToString(NumberofForms);
Forms[NumberofForms].MdiParent = this;
Forms[NumberofForms].Show();
}
}
}
4. Finally Run the application. Click on File -> New







No comments:

Post a Comment