Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: bắt sự kiện của các form con từ form cha

  1. #1
    Ngày gia nhập
    03 2011
    Bài viết
    8

    Mặc định bắt sự kiện của các form con từ form cha

    cho mình hỏi, mình có 1 form cha, 3 form con, mình muốn khi 3 form con đang active mình maximize hoặc minimize bất kỳ form con nào thì 2 form còn lại cũng maximize hoặc minimize theo, có ai biết events nào của form cha làm được việc này không?

  2. #2
    Ngày gia nhập
    08 2009
    Nơi ở
    TP Cần Thơ - Lộ 91B
    Bài viết
    214

    - Nếu dùng MDI thì
    Code:
           formCon.MdiParent.MdiChildren  //-- danh sách form con của form cha
    - Nếu không dùng MDI . thì bạn quản lý 3 đối tượng form con đó trong 1 danh sách tỉnh (static) ở form cha.

    PHÁT TRIỂN PHẦN MỀM HỖ TRỢ CÔNG VIỆC
    ỨNG DỤNG QUẢN LÝ CHO DOANH NGHIỆP VỪA VÀ NHỎ

    (0969.867.490 - ltnghia.wins@gmail.com)

  3. #3
    Ngày gia nhập
    12 2007
    Bài viết
    52

    Tạo 1 class ABC trong class này tạo ra 1 event. Và 1 method raise event.
    -Tại form cha new class ABC này lên. Khi show form con thì truyền class ABC đã new ở form cha cho form con này.
    - Tại mỗi form con đăng ký event từ class ABC thực hiện min/max form.
    - Tại event min/max của mỗi form con thực hiện method raise event từ class ABC

    Bạn hãy làm như sau:
    Tạo ra 1 class MyEventChangeState
    Visual C# Code:
    1. public class MyEventChangeState
    2. {
    3.          public event EventHandler ChangeState = null;
    4.          
    5.          public void RaiseEventChangeState(System.Windows.Forms.FormWindowState state)
    6.          {
    7.                   if (ChangeState != null)
    8.                   {
    9.                            ChangeState(state, null);
    10.                   }
    11.          }
    12. }

    Tại form cha khai báo class này.
    private MyEventChangeState ChangeStateForm = new MyEventChangeState();

    Khi show form con thì hãy truyền class này cho form con

    formcon1 = new formcon1(ChangeStateForm);
    formcon1.show()

    Ở các form con, phương thức khởi tạo có lấy lại class trên. Và đăng ký event ChangeState.
    Và ở cái event change state form thì sử dụng raise event.
    Visual C# Code:
    1. // formcon1
    2. private MyEventChangeState ChangeStateForm = null;
    3. public formcon1(MyEventChangeState myEvent)
    4. {
    5.      // Init formcon 1
    6.      InitializeComponent();
    7.      ChangeStateForm = myEvent;
    8.      ChangeStateForm.ChangeState += new EventHandler(ChangeStateForm_ChangeState);
    9. }
    10.  
    11. void ChangeStateForm_ChangeState(object sender, EventArgs e)
    12. {
    13.      System.Windows.Forms.FormWindowState state = sender as System.Windows.Forms.FormWindowState;
    14.      if (state != null)
    15.      {
    16.           this.FormWindowState = state;
    17.      }
    18. }
    19.  
    20. // Sự kiện maximum của formcon1
    21. formcon1_MaximumSizeChanged(object sender, EventArgs e)
    22. {
    23.      // Gọi sự kiện thay đổi trạng thái
    24.      ChangeStateForm.RaiseEventChangeState(FormWindowState.Maximized);
    25. }
    26.  
    27. // Sự kiện minimum của formcon1
    28. formcon1_MinimumSizeChanged(object sender, EventArgs e)
    29. {
    30.      // Gọi sự kiện thay đổi trạng thái
    31.      ChangeStateForm.RaiseEventChangeState(FormWindowState.Minimized);
    32. }

    Thực hiện tương tự cho các form con còn lại.

Các đề tài tương tự

  1. Graphic click vào button trên form 1, form 2 xuất hiện và đồng thời form ẩn xuống...
    Gửi bởi vipnho0209 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 36
    Bài viết cuối: 04-11-2012, 10:27 AM
  2. Click Button load form phụ từ form chính và đóng form 9
    Gửi bởi cktn5590 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 29-02-2012, 10:30 PM
  3. Algorithm gặp lỗi ở form.cs và form.designer.cs khi debug ứng dụng windows form
    Gửi bởi itc trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 18-02-2012, 10:36 PM
  4. Dùng button ở form cha để gọi form em và truyền dữ liệu từ form anh qua form em
    Gửi bởi chitviv trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 5
    Bài viết cuối: 24-10-2011, 10:32 PM
  5. Không truyền dữ liệu giữa 2 form được khi gọi form login trước form main
    Gửi bởi kienchochethahaha trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 01-06-2011, 08:26 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn