Lập trình hiển thị và quản lý các Form Con trong Form Cha

Lập trình hiển thị và quản lý các Form Con trong Form Cha

Bạn đang nghiên cứu và làm việc với Windows Forms, bạn đang thiết kế một ứng dụng phần mềm quản lý, bạn đã có khái niệm “Form Cha” – “Form Con”. Tuy nhiên việc quản lý các Form con trong form cha thì chưa hẳn bạn nào cũng biết. Vậy tôi viết bài này để chia sẻ với các bạn cách quản lý Form cha con.

Trong bài viết này, tôi giả sử có 1 giao diện chính của một phần mềm quản lý nhân sự như sau:

Bây giờ chúng ta hãy bắt đầu các bước để thiết kế và xử lý Form cha con.

Bước 1: Bạn hãy thiết kế giao diện chính của phần mềm như trên, tên Form giả sử là frmMain. Bạn hãy chắc chắn rằng đã chọn thuộc tính: IsMdiContainer = True để thiết lập đây là Form cha.

Bước 2: Bây giờ tôi sẽ thêm vào Project 2 Form “Thêm nhân viên” (frmEmployee) và “Danh sách nhân viên” (frmListEmpoyee).

Form “Thêm nhân viên” (frmEmployee)

Form “Danh sách nhân viên” (frmListEmpoyee).

Bước 3: Bạn hãy viết sự kiện Click cho 2 nút “Thêm nhân viên” và “Danh sách nhân viên” trên thanh ToolStrip của Form Cha để hiển thị Form tương ứng.

     frmEmployee frm = new frmEmployee();

      frm.MdiParent = this;
     frm.Show();

và

                                     frmListEmployee frm = new frmListEmployee();

                                     frm.MdiParent = this;

                                     frm.Show();

Chú ý, thuộc tính  MdiParent dùng để thiết lập Form Cha của các Form này là frmMain

Bước 4: Bạn hãy thử Click nhiều lần trên nút “Thêm nhân viên” hay “Danh sách nhân viên” bạn sẽ thấy nhiều Form đó được xuất hiện. Đây là điều bạn không muốn!!!??? Vậy làm sao đây??? Hãy chuyển qua bước 5.

Bước 5: Hẳn là bạn muốn khi Click vào “Thêm nhân viên” nhiều lần thì Form đó chỉ được hiện ra một lần. Nếu đang bị che khuất bởi Form “Danh sách nhân viên” thì nó sẽ hiện lên trên. Và ngược lại. Vậy thì ta sẽ làm như sau:

Chúng ta biết là trong Form Cha có thuộc tính MdiChildren trả về tập các Form Con đang hiển thị trong Form Cha. Trong frmMain bạn hãy viết phương thức sau:

Phương thức CheckExistForm để kiểm tra xem 1 Form với tên nào đó đã hiển thị trong Form Cha (frmMain) chưa? => Trả về True (đã hiển thị) hoặc False (nếu chưa hiển thị).

Phương thức tiếp theo là ActiveChildForm:

Phương thức tiếp theo là ActiveChildForm dùng để “Kích hoạt”  – hiển thị lên trên cùng các trong số các Form Con nếu nó đã hiện mà không phải tạo thể hiện mới.

Bước 6: Hãy sử dụng 2 phương thức trên để quản lý các Form Con như ý muốn

Bây giờ bạn hãy sửa lại code trong sự kiện Click trên 2 nút “Thêm nhân viên” và “Danh sách nhân viên” như sau:

Hẳn là tôi không cần giải thích đoạn code trên các bạn đã hiểu ý nghĩa của nó.

Bước 7:  Hãy Click thoải mái trên 2 nút trên thử nghiệm, bạn sẽ thấy chỉ có 2 Form hiển thị như ý muốn.

Lập trình hiển thị và quản lý các Form Con trong From Cha

Nếu bạn muốn quản lý nhiều Form Con như vậy thì hãy sử dụng 2 phương thức CheckExistForm  ActiveChildForm tương tự như trên.

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

Bạn thấy bài viết này như thế nào?: 
Average: 6.8 (4 votes)
Ảnh của Tommy Tran

Tommy owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy

Bình luận (0)

 

Add Comment

Filtered HTML

  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Các thẻ HTML được chấp nhận: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Tự động ngắt dòng và đoạn văn.

Plain text

  • No HTML tags allowed.
  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Tự động ngắt dòng và đoạn văn.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
34 câu hỏi về iPad mới (Phần 1)

34 câu hỏi về iPad mới (Phần 1)

Giải đáp thắc mắc về màn hình Retina, độ phân giải, camera và chất lượng Facetime, RAM,... trong iPad mới đời 2012.

Những điều cần biết khi làm Social Media

Những điều cần biết khi làm Social Media

Nếu bạn có ý định trở thành một nhà hoạch định chiến lược trong lĩnh vực truyền thông xã hội (Social Media) cho một công ty nào đó thì đoạn Infographic thống kê dưới đây sẽ rất có ích cho bạn.

Jotta

Jotta - cho phép phục hồi dữ liệu đã xóa

Việc sao lưu và lưu trữ các dữ liệu quan trọng là vô cùng cần thiết, vì đôi khi bạn không thể biết chiếc máy tính của mình có thể gặp những sự cố gì. Các tài liệu quan trọng, các dự án hay đơn giản là những bức ảnh kỷ niệm của bạn có thể bị mất sau một sự cố nào đó. Do đó các công cụ lưu trữ đám mây hiện nay ngày càng phát triển, bên cạnh việc bảo vệ các dữ liệu của bạn một cách an toàn, chúng còn giúp bạn truy cập dữ liệu của mình ở bất kỳ đâu với các thiết bị kết nối internet.

Công ty diệt chuột T&C

 

Diet con trung