MDI Form trong winform C#
Bạn sử dụng một phần được lập trình C#, có rất nhiều cửa sổ, có 2 phần mềm được 2 lập trình viên làm theo 2 cách như sau:
Bạn thích phần mềm cửa lập trình số 01 hay số 02
MDI Form là gì ?
MDI Form viết tắt của từ Multiple Document Interface, dịch ra theo nghĩa chung là nhiều tài liệu trong 1 giao diện, theo nghĩa lập trình c# thì MDI Form là 1 Form có thể chứa 1 hoặc nhiều form con (Form là 1 cửa sổ xem hay nhập liệu của 1 phần mềm C#) .
Còn gọi là: form con nằm trong form cha
Cách tạo MDI Form C# ?
Bước 1: Tạo 1 project kiểu winform C#
Bước 2: Tạo 1 form main
Form Main là form chính chưa menu điều khiển các form còn lại.
Cấu hình trong thuộc tính hay trong code form load:
this.IsMdiContainer = true;
Nếu bạn thay đổi trong thiết kế IsMdiContainer = true sẽ thấy giao diện form main chuyển sang màu xám.
Bước 2: Tạo các form con
Tùy vào nghiệp vụ của phần mềm. Ví dụ bài này có 2 form là frmA , frmB
Bước 4:
Vào lại form main lập trình code C# lệnh gọi form
Gọi form A
Form frm = null;
frmA f = new frmA ();
frm = f;
frm.MdiParent = this;
frm.Show();
frm.BringToFront();
Gọi form BForm frm = null;
frmB f = new frmA ();
frm = f;
frm.MdiParent = this;
frm.Show();
frm.BringToFront();
Khi gọi form bạn thấy form A, B được hiển thị bên trong của Form main.
// nap vao danh sach MDI combox
Form[] mdiFormsList = MdiChildren;
for (int i = 0; i < mdiFormsList.Length; i++)
{
// MessageBox.Show(mdiFormsList[i].Text);
if(!cbListForm.Items.Contains(mdiFormsList[i].Name))
cbListForm.Items.Add(mdiFormsList[i].Name);
}
// kich hoat MDI form tu combox
private void cbListForm_SelectedIndexChanged(object sender, EventArgs e)
{
Form[] mdiFormsList = MdiChildren;
for (int i = 0; i < mdiFormsList.Length; i++)
{
// MessageBox.Show(mdiFormsList[i].Text);
if (cbListForm.Text == mdiFormsList[i].Name)
mdiFormsList[i].Activate();
}
}
[Mời bạn xem video hướng dẫn chi tiết tạo MDI Form C#]
MDI Form là gì ? Tại sao phải dùng đa cửa sổ (MDI Form) trong ứng dụng C# ?