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

Đề tài: làm sao để mở được childform 1 lần duy nhất

  1. #1
    Ngày gia nhập
    11 2007
    Bài viết
    17

    Mặc định làm sao để mở được childform 1 lần duy nhất

    Himylove có 3 button ở menuBar:
    +btnBK --> mở frmBangKe ,
    +btnBBKK --> mở frmBBKK ,
    + btnHDCT --> mở frmHDCT,
    và Himylove cũng có 3 button tương tự nhưng ở MenuTrip (đại lọa vậy ^^)
    +btnMenuBK --> mở frmBangKe ,
    +btnMenuBBKK --> mở frmBBKK ,
    + btnMenuHDCT --> mở frmHDCT,
    các frmBangKe,frmBBKK,frmHDCT là childForm của form chứa 6 button trên . Vậy làm sao để khi click vào btnBK hoặc btnMenuBk thì chỉ hiện 1 frmBk duy nhất ( đảm bảo cả sau khi đóng lại vẫn mở lên được nha , hiện himylove có thể làm cho nó mở duy nhất 1 loại childForm nhưng lại ko thể mở lại sau khi đóng - hơn nữa code của Himylove nhìn rất đáng sợ chẳng khoa học tí nào)
    //---------
    cách làm hiện tại của Himylove là :
    PHP Code:
    +khai báo 1 biến cờ flagBK =0,flagBBKK=0,flagHDCT=0 để kiểm tra tình trạng cửa sổ 
    // bằng 0 khi cửa sổ mở ở chế độ max , !=0 khi ở chế độ khác
    +khai báo 1 biến ktBK=0,ktBBKK=0,ktHDCT=0 để kiểm tra tình hình form
     
    // bằng 0 nếu chưa mở , !=0 nếu đã được mở
    +sau đó trong sự kiện click của btnBangKe và btnMenuBangke cài đặt 

    ++ Nếu flagBk==0 và btBk==0 thì :  
                
    tạo form mới và show lên đặt các biến ktBK=1,ktBBKK=1,ktHDCT=1...
    ++ 
    Nếu flag==1 thì 
                chọn chế độ cửa sổ là max 

    Tương tự cho các button còn lại
    +Trong sự kiện formClosed của mỗi form đặt lại tất cả các biến về giá trị 0 
    nhưng cách làm này gặp lỗi ! ko thể làm được T.T
    //-------------
    Himylove có tạo 1 button ở frmBK cho phép thu nhỏ frmBangKe lại nhưng ko biết code làm sao để thu nhỏ chính frmBk , chỉ cho Himylove lun nha :((
    Đã được chỉnh sửa lần cuối bởi himylove : 25-12-2008 lúc 04:40 PM.

  2. #2
    No Avatar
    ngocbig Khách

    Thay vì bạn tạo local object của frmBangKe trong từng sự kiện thì bạn hãy đổi object của frmBangKe thành member của form chính.

    trong các sự kiện click của btnBK và btnMenuBK hãy kiểm tra như sau:
    Visual C# Code:
    1. if(f==null||f.IsDisposed)
    2. {
    3.     f = new frmBangKe();
    4.     f.Show();
    5. }

    Các trường hợp kia cũng thế.
    Chắc bạn sẽ hiểu những gì mình nói. Good luck!
    Đã được chỉnh sửa lần cuối bởi ngocbig : 25-12-2008 lúc 04:32 PM.

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

    Trích dẫn Nguyên bản được gửi bởi ngocbig Xem bài viết
    Thay vì bạn tạo local object của frmBangKe trong từng sự kiện thì bạn hãy đổi object của frmBangKe thành member của form chính.

    trong các sự kiện click của btnBK và btnMenuBK hãy kiểm tra như sau:
    Visual C# Code:
    1. if(f==null||f.IsDisposed)
    2. {
    3.     f = new frmBangKe();
    4.     f.Show();
    5. }

    Các trường hợp kia cũng thế.
    Chắc bạn sẽ hiểu những gì mình nói. Good luck!
    có phải là mình sẽ khai báo :
    Visual C# Code:
    1.   form f = new frmBangKe();
    phía trên hàm khởi tạo của form chính ko ?
    Nếu thế thì tại sao khi mình ấn vào btnBK thì child Form vẫn ko được show lên ?

  4. #4
    No Avatar
    ngocbig Khách

    trong form chính bạn chỉ cần khai báo:

    private Form f;//Miễn là nó là member là đc.

    Còn trong các sự kiện thì bạn làm nhu của mình. Hoặc gói gọn vào một function rồi gọi function đó.

    Mình gửi kèm demo cho bạn xem. Hy vọng đúng ý bạn.
    Attached Files Attached Files
    Đã được chỉnh sửa lần cuối bởi ngocbig : 25-12-2008 lúc 04:59 PM.

  5. #5
    Ngày gia nhập
    11 2007
    Bài viết
    17

    Trích dẫn Nguyên bản được gửi bởi ngocbig Xem bài viết
    trong form chính bạn chỉ cần khai báo:

    private Form f;//Miễn là nó là member là đc.

    Còn trong các sự kiện thì bạn làm nhu của mình. Hoặc gói gọn vào một function rồi gọi function đó.
    thanks ! mình làm được phần childForm rồi ! nhưng còn phần button thu nhỏ childForm nằm trong childForm ! bạn có gợi ý gì ko ?
    Xin Mãi Là Bạn Thân

  6. #6
    No Avatar
    ngocbig Khách

    Mặc định làm sao để mở được childform 1 lần duy nhất

    Nhưng tạo sao phải làm thế khi đã có nút Min ở trên title bar rồi?

  7. #7
    Ngày gia nhập
    11 2007
    Bài viết
    17

    hì ! tại trên menubar có ít button quá nhìn trống trải nên viết thêm nhìn cho nhiều nhiều ^^ , với lại đang học nên khám phá càng nhiều càng tốt mà |
    Xin Mãi Là Bạn Thân

  8. #8
    No Avatar
    ngocbig Khách

    Trích dẫn Nguyên bản được gửi bởi himylove Xem bài viết
    hì ! tại trên menubar có ít button quá nhìn trống trải nên viết thêm nhìn cho nhiều nhiều ^^ , với lại đang học nên khám phá càng nhiều càng tốt mà |
    Vậy thì trong khi bắt sự kiện click của button đấy bạn cho giá trị của WindowState của form đấy là Minimized là ok.
    Visual C# Code:
    1.         private void btnMinimize_Click(object sender, EventArgs e)
    2.         {
    3.             this.WindowState = FormWindowState.Minimized;
    4.         }

  9. #9
    Ngày gia nhập
    11 2007
    Bài viết
    17

    Trích dẫn Nguyên bản được gửi bởi ngocbig Xem bài viết
    Vậy thì trong khi bắt sự kiện click của button đấy bạn cho giá trị của WindowState của form đấy là Minimized là ok.
    Visual C# Code:
    1.         private void btnMinimize_Click(object sender, EventArgs e)
    2.         {
    3.             this.WindowState = FormWindowState.Minimized;
    4.         }
    hic ! rõ ràng mình tối qua có gõ thử code này rồi mà nó báo lỗi , sao bi h lại bình thường nhỉ thanks bạn nhiều nhiều ^^
    Xin Mãi Là Bạn Thân

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

  1. Cách tạo giao diện childform nằm trong parentform như thế nào?
    Gửi bởi wintervt trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 13
    Bài viết cuối: 07-03-2012, 11:55 AM
  2. mở Childform nhiều lần trong HandleForm ?
    Gửi bởi wintervt trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 28-12-2011, 09:25 PM
  3. Hiện thị ChildForm từ một child form khác
    Gửi bởi tuaki2311 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 28-10-2009, 01:59 PM
  4. xin hỏi về childform?
    Gửi bởi maiyeuem_kd trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 1
    Bài viết cuối: 23-10-2009, 10:30 PM
  5. làm thế nào để biết mình đang dùng childform nào?
    Gửi bởi sakybc trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 04-06-2009, 10:49 AM

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