CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 200

200
Chương 6: Windows Form

// Bỏ qua điều kiểm trừ khi nó là TextBox.

if (ctrl.GetType() == typeof(TextBox)) {

ctrl.Text = "";

}

// Xử lý các điều kiểm một cách đệ quy.

// Điều này cần thiết khi có một điều kiểm chứa nhiều

// điều kiểm khác (ví dụ, khi bạn sử dụng Panel,

// GroupBox, hoặc điều kiểm container nào khác).

foreach (Control ctrlChild in ctrl.Controls) {

ProcessControls(ctrlChild);

}

}

}

4.

4.

Theo v t các form kh ki n trong m t ng d ng

ế

ả ế

ộ ứ

Theo v t các form kh ki n trong m t ng d ng

ế

ả ế

ộ ứ

Bạn muốn giữ lại vết của tất cả form hiện đang được hiển thị. Đây là trường hợp
thường gặp khi bạn muốn một form có thể tương tác với một form khác.

Tạo một lớp giữ các tham chiếu đến các đối tượng

Form

. Lưu trữ các tham chiếu

này bằng biến tĩnh.

.NET không cung cấp cách xác định form nào đang được hiển thị trong một ứng dụng (ngoại
trừ ứng dụng MDI, sẽ được mô tả trong mục 6.5). Nếu muốn xác định form nào đang tồn tại,
form nào đang được hiển thị, hoặc bạn muốn một form có thể gọi các phương thức và thiết lập
các thuộc tính của một form khác thì bạn cần phải giữ lại vết của các đối tượng form.
Để thực hiện yêu cầu trên, hãy tạo một lớp gồm các thành viên tĩnh; lớp này có thể theo vết
các form đang mở bằng một tập hợp, hay các thuộc tính chuyên biệt. Ví dụ, lớp dưới đây có
thể theo vết hai form:

public class OpenForms {

public static Form MainForm;

public static Form SecondaryForm;

}

Khi form chính hoặc form phụ được hiển thị, chúng sẽ tự đăng ký với lớp

OpenForms

. Nơi hợp

lý để đặt đoạn mã này là trong phương thức thụ lý sự kiện

Form.Load

.

private void MainForm_Load(object sender, EventArgs e) {

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.