Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 11 kết quả

Đề tài: Hỏi một chút về groupBox!

  1. #1
    Ngày gia nhập
    09 2012
    Bài viết
    0

    Mặc định Hỏi một chút về groupBox!

    Mình làm bài tập về windows form trong C#.
    Form có 2 radioButton tương ứng để hiển thị 2 groupBox, mình muốn khi load form thì cả 2 groupBox đều ẩn đi, khi chọn 1 radioButton thì groupBox tương ứng đó mới hiện lên.
    Mình viết code thế này:
    Visual C# Code:
    1.         private void radioBtn1_CheckedChanged(object sender, EventArgs e)
    2.         {
    3.             gB1.Visible = true;
    4.             gB2.Visible = false;
    5.         }
    6.  
    7.         private void radioBtn2_CheckedChanged(object sender, EventArgs e)
    8.         {
    9.             gB1.Visible = false;
    10.             gB2.Visible = true;
    11.         }
    12.         private void Form1_Load(object sender, EventArgs e)
    13.         {
    14.             gB1.Visible = false;
    15.             gB2.Visible = false;
    16.         }


    Nhưng kết quả ko như mong muốn, ai có thể giải thích hộ mình dc ko :(. Và mình phải viết code như thế nào?

  2. #2
    Ngày gia nhập
    11 2012
    Nơi ở
    Ở nhà
    Bài viết
    180

    Có phải lúc load from nó đã check sẵn 1 cái radio rồi đúng không. Mình cũng thử nhưng khi load lên thì nó tự động check một cái radio rồi nên một cái group ẩn 1 cái hiện. Bạn thay dùng checkbox xem sao?

  3. #3
    Ngày gia nhập
    10 2009
    Nơi ở
    gầm cầu
    Bài viết
    156

    Phải xác định ý tưởng của bạn là chương trình cho phép check 1 lúc 2 radiobutton hay 1 radiobutton
    nếu là 2 thì ko thực tế (chắc tại mình ít gặp) vả lại dùng checkbox hợp lý hơn
    còn nếu chỉ cho phép check 1 trong 2 button 1 lần thì
    -cần đặt 2 radiobutton đó vào 1 cái groupbox thứ 3 để khi check vào cái này thì cái kia tự động uncheck
    -ta cho cả 2 sự kiện CheckedChanged của 2 radiobutton cùng chỉ đến 1 hàm duy nhất đại khái là
    Code:
    private void RDbutton_CheckedChanged(object sender, EventArgs e)
            {
                gB1.Visible = radioBtn1.checked ;
                gB2.Visible = radioBtn2.checked ;
            }
    vậy khi rdbutton 1 dc click thì radioBtn1.checked = true; đương nhiên gB1.Visible = true
    khi đó radioBtn2.checked = false ; và đương nhiên gB2.Visible = false ; và ngược lại

    - để rdbutton bắt sự kiện ngay khi Load Form thì ta chỉ rõ tường minh cái nào cần dc check trước

    Code:
     private void Form1_Load(object sender, EventArgs e)
            {
                radioBtn1.checked = true; // thí dụ thế
            }
    nếu dùng texbox thì đuơng nhiên check dc 1 lúc nhiều cái hoặc chả check cái nào
    và cũng cho tất cả các checkbox bắt sự kiện CheckedChanged chỉ đến 1 hàm duy nhất (tiết kiệm chỗ)

    Code:
    private void checkbox_CheckedChanged(object sender, EventArgs e)
            {
                gB1.Visible = checkbox1.checked;
                gB2.Visible = checkbox2.checked;
                gB3.Visible = checkbox3.checked;
            }

    Code:
    private void Form1_Load(object sender, EventArgs e)
            {
                checkbox1.checked = false;
                checkbox2.checked = false;
                checkbox3.checked = false; // thí dụ thế
            }
    Đã được chỉnh sửa lần cuối bởi doveandrose : 12-12-2012 lúc 12:25 AM.

  4. #4
    Ngày gia nhập
    09 2012
    Bài viết
    0

    thanks bạn, nhưng mình chỉ muốn hỏi là:
    làm sao để khi load Form cả 2 groupBox đều ẩn đi, tức là màn hình load Form ko có cái groupBox nào cả. Khi mình chọn 1 radioBtn thì groupBox tương ứng mới hiện lên

  5. #5
    Ngày gia nhập
    10 2009
    Nơi ở
    gầm cầu
    Bài viết
    156

    Trích dẫn Nguyên bản được gửi bởi Ck-boy Xem bài viết
    thanks bạn, nhưng mình chỉ muốn hỏi là:
    làm sao để khi load Form cả 2 groupBox đều ẩn đi, tức là màn hình load Form ko có cái groupBox nào cả. Khi mình chọn 1 radioBtn thì groupBox tương ứng mới hiện lên
    những gì cậu hỏi đã dc tớ trình bày kỹ ở trên .các câu lệnh cực kì sơ đẳng thế mà cậu đọc ko hiểu các câu lệnh đó có tác dụng gì sao ? thất vọng

  6. #6
    Ngày gia nhập
    12 2012
    Nơi ở
    Cần Thơ
    Bài viết
    0

    Mặc định Hỏi một chút về groupBox!

    Trích dẫn Nguyên bản được gửi bởi Ck-boy Xem bài viết
    thanks bạn, nhưng mình chỉ muốn hỏi là:
    làm sao để khi load Form cả 2 groupBox đều ẩn đi, tức là màn hình load Form ko có cái groupBox nào cả. Khi mình chọn 1 radioBtn thì groupBox tương ứng mới hiện lên
    Cái đó thì đặt Visible là false bên Design trước bạn ạ, vậy khi load nó sẽ ẩn.

  7. #7
    Ngày gia nhập
    09 2012
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi 0bietgihet Xem bài viết
    Cái đó thì đặt Visible là false bên Design trước bạn ạ, vậy khi load nó sẽ ẩn.
    mình có code ở trên rồi mà, c ko đọc ah :(, để Visible rồi, nhưng lúc load nó vẫn tự động check 1 cái radioBtn...

  8. #8
    Ngày gia nhập
    12 2012
    Nơi ở
    Cần Thơ
    Bài viết
    0

    Mặc định Thay đỗi.

    Trích dẫn Nguyên bản được gửi bởi Ck-boy Xem bài viết
    mình có code ở trên rồi mà, c ko đọc ah :(, để Visible rồi, nhưng lúc load nó vẫn tự động check 1 cái radioBtn...
    Mình vẫn chưa đọc kĩ tiêu đề của bạn, nhưng bây giờ thì rõ rồi. Bạn xem ý tưởng của mình coi có được không nhé. Sẽ gồm 1 checkBox, 2 radioBtn và 2 groupBox nhé.
    Trên Form thì mình đặt là:
    Code:
    private void Form1_Load(object sender, EventArgs e)
            {
                groupBox1.Visible = false;
                groupBox2.Visible = false;
                checkBox1.Checked = false;
                radioButton1.Visible = false;
                radioButton2.Visible = false;           
            }
    Sau đó mình tạo sự kiện cho checkBox:
    Code:
    private void checkBox1_CheckedChanged(object sender, EventArgs e)
            {
                if (checkBox1.Checked == true)
                {
                    radioButton1.Visible = true;
                    radioButton2.Visible = true;
                }
            }
    Kế đến thì giống như hướng dẫn của bạn doveandrose đã nói:
    Mình tạo sự kiện cho từng radioBtn riêng:
    Code:
    private void radioButton1_CheckedChanged(object sender, EventArgs e)
            {
                groupBox1.Visible = radioButton1.Checked;
                if (radioButton1.Visible == true && radioButton1.Checked == true)
                    groupBox1.Visible = true;
            }
    Code:
    private void radioButton2_CheckedChanged(object sender, EventArgs e)
            {
                groupBox2.Visible = radioButton2.Checked;
                if (radioButton2.Visible == true && radioButton2.Checked == true)
                    groupBox2.Visible = true;
            }
    Thế thì rõ ràng khi bạn load Form chỉ hiển thị duy nhất checkBox, kiến thức mình còn hạn chế nên mình nghĩ để 2 radioBtn hiện trên form không thể nào ẩn được cùng lúc 2 GroupBox, hoặc là sẽ hiện ra 1 groupbox vì mặc định của radiobtn là check, hoặc là mình không biết cách bỏ check cho thằng này, không biết mình nói đúng không nữa.
    Attached Files Attached Files

  9. #9
    Ngày gia nhập
    09 2012
    Bài viết
    0

    Mình có sẵn một vd tìm được trên mạng đây, tác giả ko dùng thêm 1 đối tượng nào, vẫn có thể visible tất cả groupBox khi load Form. Mình đọc code mà ko tìm ra tác giả làm thế nào? Các bạn nghiên cứu thử xem.
    Attached Files Attached Files

  10. #10
    Ngày gia nhập
    12 2012
    Nơi ở
    Cần Thơ
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi Ck-boy Xem bài viết
    Mình có sẵn một vd tìm được trên mạng đây, tác giả ko dùng thêm 1 đối tượng nào, vẫn có thể visible tất cả groupBox khi load Form. Mình đọc code mà ko tìm ra tác giả làm thế nào? Các bạn nghiên cứu thử xem.
    Trong code nó không có mà nó vẫn ẩn đi được thì nên coi lại cách design của radiobtn.
    Nếu code thì:
    Code:
            private void Form1_Load(object sender, EventArgs e)
            {
                groupBox1.Visible = false;
                groupBox2.Visible = false;
                radioButton1.AutoEllipsis = false;
                radioButton1.AutoEllipsis = false;
            }
    Còn không thì design:

    Không phải cái gì cũng ở trước mắt để bạn thấy đâu.

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

  1. Cách tạo 1 ArrayList cac Groupbox C#?
    Gửi bởi holygon trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 19-05-2012, 09:54 PM
  2. Chọn checkbox thì Groupbox mới khả dụng
    Gửi bởi phantrunghien trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 10
    Bài viết cuối: 03-02-2012, 08:39 PM
  3. Cách làm trong suốt Groupbox.
    Gửi bởi tuanvu199x trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 13
    Bài viết cuối: 04-12-2010, 07:38 PM
  4. Đổi màu và kiểu của đường viền groupbox và panel
    Gửi bởi nguoi_hay_hoi2004 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 28-10-2010, 09:46 PM
  5. Chọn mặc định một radiobutton trong Groupbox.
    Gửi bởi thanhcuong_cn trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 10-04-2010, 11:50 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