Diễn Đàn » Hướng Dẫn Lập trình

Tìm tất cả các form trong ứng dụng MDI

0 trả lời, 390 lượt xem — Trang 1 / 1
<Bài viết đã được chỉnh sửa lúc 2007-04-07 04:02:33dvbendoi>
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 MDI con nào đề tìm form cha. Bạn có thể sử dụng tập hợp MdiChildren của form MDI cha để tìm tất cả các form con.
Ví dụ sau đây (xem hình 6.3) sẽ hiển thị tất cả các form con. Mỗi form con gồm một Label (chứa thông tin về ngày giờ), và một Button. Khi người dùng nhắp vào Button, phương thức thụ lý sự kiện sẽ duyệt qua tất cả các form con và hiển thị dòng chữ trong Label (với thuộc tính chỉ-đọc).
Dưới đây là phần mã cho form con:
public class MDIChild : System.Windows.Forms.Form
{   
  private System.Windows.Forms.Button cmdShowAllWindows;   
 private System.Windows.Forms.Label label;  
  // (Bỏ qua phần mã designer.)   
 public string LabelText   
 {       
get        
 {           
return label.Text;      
  }   
}    
private void cmdShowAllWindows_Click(object sender,       System.EventArgs e)       
 {       
 // Duyệt qua tập hợp các form con.       
 foreach (Form frm in this.MdiParent.MdiChildren)       
 {
// Ép kiểu tham chiếu Form thành MDIChild.          
  MDIChild child = (MDIChild)frm
MessageBox.Show(child.LabelText, frm.Text);       
}   
}    
 private void MDIChild_Load(object sender, System.EventArgs e)   
{       
 label.Text = DateTime.Now.ToString();   
}
}

Chú ý rằng, khi đoạn mã duyệt qua tập hợp các form con, nó phải chuyển (ép kiểu) tham chiếu Form thành MDIChild để có thể sử dụng thuộc tính LabelText.
 
Lấy thông tin từ các form MDI con

 Trích từ “Các giải pháp lập trình C#”                                   
 
Đăng nhập để trả lời
0