Mô tả

Trong bài này mình sẽ giới thiệu các bạn một trong số điều khiển thông thường của lập trình C# winforms đó chính là Checkbox và RadioButton. Đây là hai điều khiển được sử dụng rất nhiều, vì nó có thể trình bày đa dạng các giá trị trên Form.

Chúng ta sẽ cùng nhau tìm hiểu về Checkbox và RadioButton là gì? công dụng của nó như thế nào và nó có các thuộc tính và sự kiện gì? Sau đó mình sẽ viết một ứng dụng đơn giản sử dụng Checkbox và RadioButton.

1. Checkbox

Checkbox là điều khiển cho phép người dùng chọn hoặc không chọn trên Form, người dùng có thể chọn một hoặc nhiều giá trị cùng lúc.

Chúng ta có một số thuộc tính của Checkbox dưới đây:

Thuộc tính Mô tả
Checked Giá trị True là được chịn, nếu thiết lập False thì không được chọn
CheckState

Thường dùng để kiểm tra tình trạng Checkbox có được chọn hay không. Mang 3 giá trị UnChecked, Checked và Indeterminate.

- Checked: Điều khiển đang được chọn

- UnChecked: Điều khiển không được chọn

- Indeterminate: Điều khiển ở trạng thái không hoạt động

AutoCheck Mang giá trị True hoặc False, nếu giá trị True thì cho phép người dùng nhấp chuột để chọn, nếu là False thì không cho phép người dùng nhấp chuột chọn
Text Chuỗi văn bản hiển thị bên cạnh Checkbox
ThreeState Mang giá trị True hoặc False; nếu là True thì cho phép Checkbox có 3 trạng thái: Checked, UnChecked, Indeterminate
RightToLeft Mang giá trị Yes hoặc No; cho biết chuỗi văn bản hiển thị (thuộc tính Text) nằm bên trái hay bên phải của Checkbox

2. RadioButton

RadioButton tương tự như Checkbox là điều khiển cho phép người dùng chọn hoặc không chọn, điểm khác biệt là với RadioButton người dùng chỉ có thể chọn một giá trị trong một nhóm.

Cả hai điều khiển Checkbox và RadioButton đều có chung một sự kiện đó chính là CheckedChanged, xảy ra khi thay đổi trạng thái chọn của Checkbox, RadioButton.

3. Ví dụ sử dụng các điều khiển Checkbox và RadioButton

Trong ví dụ này mình sẽ thực hiện một viết một ứng dụng sử dụng Checkbox và RadioButton, cụ thể như sau:

Thực hiện thiết kế giao diện cho Form như hình dưới đây:

Xử lý một số sự kiện sau:

  • Khi click vào nút "Sở thích của bạn" thì những Checkbox được chọn bởi người dùng sẽ hiển thị trên hộp thoại MessageBox. Nếu không có Checkbox nào được chọn thì thông báo cho người dùng biết.
  • Khi click vào nút "Màu bạn thích" thì RadioButton được chọn bởi người dùng sẽ được hiển thị trên hộp thoại MessageBox.

Chúng ta sẽ lần lượt thực hiện các yêu cầu nhé. Đầu tiên sẽ tạo giao diện cho Form giống như ứng dụng mẫu.

  • Hai GroupBox (ở bài sau mình sẽ hướng dẫn chi tiết)
  • 5 Checkbox với 5 sở thích tương ứng
  • 5 RadioButton với 5 màu tương ứng
  • 2 Button

Các bạn sẽ thay đổi một số thuộc tính như: Text, name, font,... cho giống với Form mẫu.

Sau khi thiết kế xong giao diện cho Form, bây giờ đến lúc các bạn sử lý sự kiện cho hai nút Button. Sự kiện đầu tiên là khi các bạn Click vào nút "Sở thích của bạn" thì các Checkbox được chọn sẽ hiển thị trên MessageBox.

Các bạn Double Click vào Button cần xử lý để viết sự kiện. Chúng ta sẽ sử dụng thuộc tính Checked để kiểm tra xem Checkbox có được chọn hay không bằng cách cho Checked == true.

Ta sẽ tạo một biến String str để lưu các Checkbox được chọn, nếu Checked == true thì thêm vào str.

Code: 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Bai_04_01
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btn_SoThich_Click(object sender, EventArgs e)
        {
            string StrSoThich = "";

            if (chk_MuaSam.Checked==true)
            {
                StrSoThich = chk_MuaSam.Text + "\n";
            }
            if (chk_NgheNhac.Checked==true)
            {
                StrSoThich = StrSoThich+chk_NgheNhac.Text+"\n";
            }
            if (chk_TheThao.Checked==true)
            {
                StrSoThich = StrSoThich + chk_TheThao.Text + "\n";
            }
            if (chk_XemPhim.Checked==true)
            {
                StrSoThich = StrSoThich + chk_XemPhim.Text + "\n";
            }
            if (chk_DuLich.Checked==true)
            {
                StrSoThich = StrSoThich + chk_DuLich.Text;
            }
            if (StrSoThich.Length >0)
            {
                MessageBox.Show("So thich cua ban la :\n" + StrSoThich);
            }
            else
            {
                MessageBox.Show("Ban khong chon so thich nao !!!");
            }
        }

        private void btn_MauThich_Click(object sender, EventArgs e)
        {
            String StrMauThich = "";
            if (rdb_Do.Checked == true)
            {
                StrMauThich = rdb_Do.Text + "\n";
            }
            if (rdb_Hong.Checked==true)
            {
                StrMauThich = rdb_Hong.Text + "\n";
            }
            if (rdb_Tim.Checked==true)
            {
                StrMauThich = rdb_Tim.Text + "\n";
            }
            if(rdb_Trang.Checked==true)
            {
                StrMauThich = rdb_Trang.Text + "\n";
            }
            if(rdb_Vang.Checked==true)
            {
                StrMauThich = rdb_Vang.Text;
            }
            if(StrMauThich.Length>0)
            {
                MessageBox.Show("Mau ban thich la: \n" + StrMauThich);
            }
            else
            {
                MessageBox.Show("Khong co mau ban thich !!!");
            }            
        }
    }
}

4. Kết luận

Như vậy là chúng ta đã tìm hiểu xong về hai điều khiển thông thường trong winforms là Checkbox và RadioButton. Đây là hai điều khiển rất quan trọng vì vậy các bạn hãy luyện tập thật nhiều để có thể sử dụng nó thật thành thạo nhé. Ở bài tiếp theo mình sẽ tiếp tục giới thiệu tới các bạn một trong số các điều khiển thông thường còn lại, hãy chú ý theo dõi nhé !!!

Đăng nhập
Đăng ký
Hotline: 0904251826
x