Thứ Hai, ngày 28 tháng 12 năm 2009

// // Leave a Comment

MDI application

Giới Thiệu

- Trong 1 số ứng dụng lớn bao gồm hàng chục các biểu mẩu (Form) trở lên thì việc quản lý , cũng như thao tác trên các biểu mẩu này là rất khó khăn , sự khó khăn này thường xuất hiện khi ta quản lý ứng dụng theo kiểu đơn tài liệu (Single Document) , chính vì thế để quản lý 1 ứng dụng hiệu quả , chúng ta thiết kế ứng dụng của chúng ta theo kiểu giao diện đa tài liệu (Multiple Document Interface) .


Ứng dụng đa tài liệu là gì ?

- Ứng dụng đa tài liệu hay còn gọi là Multiple Document Interface (MDI) , là 1 ứng dụng trong đó có 1 biểu mẩu (Form) chứa các biểu mẩu khác (gọi là Form Parent) , các biểu mẩu được chứa bởi Form Parent còn gọi là Form Child .



Khi nào sử dụng MDI trong ứng dụng ?

- Việc sử dụng MDI trong ứng dụng cũng tuỳ thuộc theo yêu cầu và mục đích của người phát triển (developer) , sử dụng MDI nhằm mục đích là dể dàng quản lý được 1 số lượng các biểu mẩu , dùng chung 1 số trình đơn (Menu) , chuyển đổi qua lại dể dàng giửa các biểu mẩu .

Ứng dụng MDI thường thấy ở đâu ?

- Có rất nhiều ứng dụng quản lý theo kiểu MDI , mà ta thường thấy như là : Microsoft Access, Microsoft Power Point , Microsoft Excel …..


Làm thế nào để quản lý ứng dụng theo kiểu MDI ?

- Để quản lý ứng dụng theo kiểu MDI , chúng ta phải xác định rỏ biểu mẩu nào là biểu mẩu chứa (Form Parent), biểu mẩu nào là biểu mẩu được chứa (Form Child).


Tại sao phải quản lý ứng dụng theo kiều MDI ?

- Như đả đề cập trên việc sử dụng MDI có mục đích sau : Để dàng quản lý các biểu mẩu , dùng chung 1 số trình đơn , chuyển đổi qua lại dể dàng giửa các biểu mẩu


Khảo sát ứng dụng MDI minh hoạ :


  • Tạo 1 dự án Window Form , ngôn ngử thề hiện là C# tên là MdiApplication , sử dụng công cụ Visual Studio (VS) 2005 .

Sau khi tạo 1 dự án thành công VS sẻ tự động kết xuất cho chúng ta 1 biểu mẩu tên là Form1.cs , sau đó chúng ta đổi tên lại là : MainForm.cs .

  • Xác định MainForm là biểu mẩu cha : đặt thuộc tính IsMdiContainer của MainForm là True , sau đó MainForm sẻ có backgroud là mà xám .

  • Tạo và xác định biểu mẩu con : Từ Menu Project click chọn Add Windows Form… chọn Window Form trong hộp thoại Add New Item , đặt tên là MDIChild.cs

  • Thêm vào 1 Menu cho MainForm , từ hộp công cụ (ToolBox) thêm 1 MenuStrip vào MainForm , và đặt tên là mnuMainMenu.

  • Tạo Menu File cho MainForm có tên là mnuFile, trong Menu File có các Sub Menu sau : New tên là mnuFileNew, Close Form tên là mnuFileCloseForm, Close All Form tên là mnuFileCloseAllForm , và Menu Exit có tên là mnuFileExit .


  • Tạo Menu Window có tên là mnuWindow có các Sub Menu sau : Cascade có tên là mnuWindowCascade, Horizontal có tên là mnuWindowHorizontal , và Verital có tên là mnuWindowVerital


Viết sự kiện cho Menu New :

MDIChild frmChil = new MDIChild();

frmChil.MdiParent = this;


frmChil.Show();

Viết sự kiện cho Menu Close Form :

if (this.ActiveMdiChild != null)

this.ActiveMdiChild.Close();

Viết sự kiện cho Menu Close All Form :


int iLength = MdiChildren.Length; for (int i = 0; i < iLength; i++)

{

MdiChildren[0].Dispose();

}

Viết sự kiện cho Menu Window Cascade



this.LayoutMdi(MdiLayout.Cascade);


Viết sự kiện cho Menu Window Horizontal

this.LayoutMdi(MdiLayout.TileHorizontal);

Viết sự kiện cho Menu Window Verital

this.LayoutMdi(MdiLayout.TileVertical);


Chạy và thử nghiệm ứng dụng

0 comments: