Chia sẻ

Trong bài này Csharpcanban.com sẽ hướng dẫn các bạn thực hiện thao tác đóng cửa sổ con trên ứng dụng MDI trong C#.

Nội dung

1, Đóng 1 cửa sổ con đang hoạt động.

Sau khi tạo ứng dụng MDI, để đóng 1 cửa sổ con đang hoạt động, ta chỉ việc tạo ra một nốt bấm, hoặc 1 menu, và trong sự kiên Click() thêm vào đoạn mã sau:

-Cách thứ nhất:

private void buttonItem7_Click(object sender, EventArgs e)
{
      SingleDocument document = (SingleDocument)ActiveMdiChild;
      if (document != null)
      {
           document.Close();
      }
}

-Cách thứ 2:

private void buttonItem7_Click(object sender, EventArgs e)
{
      ActiveMdiChild.Close();
}

Như vậy, việc đầu tiên là ta khai báo đối tượng document để xác định cửa sổ con đang hoạt động, tiếp theo là kiểm tra xem đối tượng document có tồn tại hay không, nếu tồn tại thì thực hiện hành động Close() (đóng) cửa sổ đó lại.

2, Đóng tất cả các cửa sổ con

Trong trường hợp ta muốn đóng tất cả các cửa sổ con, có 2 cách:

-Cách thứ nhất, thêm đoạn mã sau:

private void buttonItem_closeall_Click(object sender, EventArgs e)
{
      foreach (Form frm in this.MdiChildren)
      {
            if (!frm.Focused)
            {
                 frm.Visible = false;
                 frm.Dispose();
            }
      }
}

Cách thứ 2, sử dụng đoạn mã sau:

private void buttonItem_closeall_Click(object sender, EventArgs e)
{
      Form[] childArray = this.MdiChildren; 
      foreach (Form childForm in childArray)
      {
            childForm.Close();
      }
}

Kết quả thực hiện như hình dưới đây.

Sự khác biệt ở 2 cách trên đó là tốc độ xử lý, các bạn hãy thử nghiệm trên ứng dụng MDI của mình nhé.

Chúc các bạn thành công !!!


Chia sẻ

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *