201
Chương 6: Windows Form
// Đăng ký đối tượng form vừa được tạo.
OpenForms.MainForm = this;
}
Bạn có thể sử dụng đoạn mã tương tự để gỡ bỏ tham chiếu khi form bị đóng.
private void MainForm_Unload(object sender, EventArgs e) {
// Gỡ bỏ đối tượng form.
OpenForms.MainForm = null;
}
Bây giờ, một form khác có thể tương tác với form này thông qua lớp
OpenForms
. Ví dụ, dưới
đây là cách form chính làm ẩn form phụ:
if (OpenForms.SecondaryForm != null) {
OpenForms.SecondaryForm.Hide();
}
Trong cách tiếp cận này, chúng ta giả sử mọi form được tạo chỉ một lần. Nếu bạn có một ứng
dụng dựa-trên-tài-liệu (document-based application), trong đó, người dùng có thể tạo nhiều
đối tượng của cùng một form, bạn cần theo vết các form này bằng một tập hợp. Tập hợp
ArrayList
dưới đây là một ví dụ:
public class OpenForms {
public static Form MainForm;
public static ArrayList DocForms = new ArrayList();
}
Theo đó, form có thể tự thêm vào tập hợp khi cần, như được trình bày trong đoạn mã sau đây:
private void DocForm_Load(object sender, EventArgs e) {
// Đăng ký đối tượng form vừa được tạo.
OpenForms.DocForms.Add(this);
}
5.
5.
Tìm t t c các form trong ng d ng MDI
ấ ả
ứ
ụ
Tìm t t c các form trong ng d ng MDI
ấ ả
ứ
ụ
Bạn cần tìm tất cả các form hiện đang được hiển thị trong một ứng dụng giao
diện đa tài liệu (Multiple Document Interface).
Duyệt qua các form trong tập hợp
MdiChildren
của form MDI cha.
.NET Framework có hai “lối tắt” thuận lợi cho việc quản lý các ứng dụng MDI: thuộc tính
MdiChildren
và
MdiParent
của lớp
Form
. Bạn có thể xét thuộc tính
MdiParent
của bất kỳ form