Các event xử lý radio button
Chào các bạn! GIỚI THIỆU
RADIO BUTTON
RadioButton cho phép người dùng chỉ được chọn một lựa chọn duy nhất trong các lựa chọn cùng 1 "nhóm". Có nghĩa là nếu 1 nhóm các RadioButton thì nếu bạn check một nút, thì tất cả các nút còn lại đều ở trạng thái unchecked. Giống như bảng chọn giới tính thì chỉ được chọn Nam hoặc Nữ, chứ làm sao mà có kiểu lai hóa giữa 2 cái như vậy đc =)) tênRadioButton.Checked = true; Ta tiếp tục với ví dụ sau: Ta có một form như hình: Ta sẽ viết code cho mặc định là nút đầu tiên sẽ được check, và nếu mục nào đang được check, khi bấm vào button1 thì nó sẽ hiện nội dung của mục đó. //Ta dùng sự kiện FormLoad để mặc định cho nút đầu tiên được chọn private void Form1_Load(object sender, EventArgs e) { radioButton1.Checked = true; } //Sau đó xử lý sự kiện click cho Button1 private void button1_Click(object sender, EventArgs e) { if (radioButton1.Checked == true) { MessageBox.Show("Bạn vừa chọn RadioButton 1 với nội dung là: " + radioButton1.Text); return; } else if (radioButton2.Checked == true) { MessageBox.Show("Bạn vừa chọn RadioButton 2 với nội dung là: " + radioButton2.Text); return; } else if (radioButton3.Checked == true) { MessageBox.Show("Bạn vừa chọn RadioButton 3 với nội dung là: " + radioButton3.Text); return; } else if (radioButton4.Checked == true) { MessageBox.Show("Bạn vừa chọn RadioButton 4 với nội dung là: " + radioButton4.Text); return; } } Và kết quả sẽ là: CHECKBOX Không như RadioButtons chỉ có thể chọn một mục cho cả nhóm và khi đã chọn rồi thì không thể deselect (hủy chọn) được, thì Checkbox ta có thể chọn nhiều mục khác nhau cùng lúc và có thể chọn
và hủy tùy ý. Checkbox thường được sử dụng để tạo các sự lựa chọn cho người dùng. Một ví dụ kinh điển là khi đăng kí tài khoản hay cài đặt phần mềm ta hay chọn vào "Tôi đồng ý với điều khoản trên..." :D
THREE STATE CỦA CHECKBOX: Ta nói thêm về ThreeState. Khi đã bật lựa chọn này thì người dùng có thể tự do lựa chọn 3 lựa chọn trên một CheckBox là Checked, UnChecked và Indeterminate. Nếu ThreeState không được bật thì ta chỉ có thể cho Checkbox vào trạng thái Indeterminate bằng code, không trưc tiếp trên Form được.
Tham khảo thêm trên MSDN //Sự kiện CheckedChanged chỉ theo dõi được hai trạng thái??? private void checkBox4_CheckedChanged(object sender, EventArgs e) { checkBox4.ThreeState = true; if(checkBox4.CheckState == CheckState.Checked) { MessageBox.Show(checkBox4.Text + " đang được chọn"); } else if(checkBox4.CheckState == CheckState.Unchecked) { MessageBox.Show(checkBox4.Text + " không được chọn"); } else if(checkBox4.CheckState == CheckState.Indeterminate) { MessageBox.Show(checkBox4.Text + " đang ở trạng thái Indeterminate"); } } //Sự kiện CheckStateChanged theo dõi được cả ba trạng thái, bao gồm cả Indeterminate??? private void checkBox5_CheckStateChanged(object sender, EventArgs e) { checkBox5.ThreeState = true; if (checkBox5.CheckState == CheckState.Checked) { MessageBox.Show(checkBox5.Text + " đang được chọn"); } else if (checkBox5.CheckState == CheckState.Unchecked) { MessageBox.Show(checkBox5.Text + " không được chọn"); } else if (checkBox5.CheckState == CheckState.Indeterminate) { MessageBox.Show(checkBox5.Text + " đang ở trạng thái Indeterminate"); } } Và kết quả sẽ là khi ta chọn checkbox IceTea Việt thành Indeterminate thì nó sẽ không "lắng nghe" được và không xuât thông báo, còn ở checkbox iceteaviet.blogspot.com thì nó hoàn thành tốt cả ba trạng thái trong sự kiện
TỔNG KẾT RadioButton và Checkbox trong C# Winforms là những control cho phép người dùng xác định những chọn lựa của mình thông qua những gợi ý, đề xuất từ chương trình. Là những control hữu dụng không thể thiếu trong các chương trình hiện nay |