Sự kiện CheckedChanged RadioButton trong C# Winforms
Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu về sự kiện CheckedChanged RadioButton trong C# Winforms. Đây là một trong các sự kiện thông dụng được sử dụng nhiều khi lập trình ứng dụng có chứa RadioButton.
Mình sẽ giới thiệu các bạn cách tạo và xử lý sự kiện CheckedChanged trong C# Winforms, cùng với đó là ví dụ để các bạn có thể tham khảo.
1. Sự kiện CheckedChanged của RadioButton là gì?
CheckedChanged của RadioButton là một sự kiện xảy ra khi người dùng thay đổi trạng thái của RadioButton.
Ví dụ chúng ta có một RadioButton và một TextBox, khi sử dụng sự kiện CheckedChanged, người dùng thay đổi trạng thái chọn hoặc không chọn của RadioButton thì nội dung trong TextBox cũng thay đổi theo.
Bài viết này được đăng tại [free tuts .net]
Để có thể hiểu rõ hơn, các bạn hãy xem cách tạo sự kiện và xử lý nó ở các phần dưới đây.
* Lưu ý: Khi sử dụng RadioButton thì người dùng chỉ được phép chọn một RadioButton duy nhất, ngược lại với CheckBox thì có thể chọn cùng lúc nhiều CheckBox.
2. Cách tạo sự kiện CheckedChanged RadioButton trong C# Winforms
Để tạo được sự kiện CheckedChanged của RadioButton thì chúng ta cần thêm vào các RadioButton , sau đó đặt tên cho nó để thuận tiện cho việc sử dụng nó sau này.
Sau khi đã tạo và đặt tên cho RadioButton , chúng ta bắt đầu tạo sự kiện bằng một trong hai cách sau đây.
Cách 1: Nhấn chuột phải vào RadioButton sau đó chọn Properties, chọn vào biểu tượng hình sấm sét rồi đặt tên cho sự kiện CheckedChanged.
Cách 2: Ngoài cách trên ta còn có thể tạo sự kiện CheckedChanged bằng cách nhấn đúp chuột vào RadioButton. Khi đó hệ thống sẽ tự tạo sự kiện và đưa chúng ta đến cửa sổ viết code.
3. Xử lý sự kiện CheckedChanged RadioButton trong C# Winforms
Bây giờ đến bước quan trọng nhất đó chính là xử lý sự kiện theo ý muốn của chúng ta.
Giả sử mình có bài toán như sau: Khi người dùng chọn vào RadioButton nào đó thì nội dung ở ô TextBox sẽ thay đổi theo.
Ví dụ khi chọn vào RadioButton "Java" thì ở ô TextBox sẽ hiển thị nội dung "Bạn đã chọn học môn Java".
Để làm được điều này ta cần sử dụng thêm một thuộc tính là Checked. Thuộc tính này có chức năng kiểm tra xem RadioButton của bạn đang ở trạng thái nào, được check hay chưa được check.
Sau đó sử dụng điều kiện if else để kiểm tra nếu RadioButton đã được check thì ta hiển thị nội dung ra Textbox. Ngược lại chưa được check thì ta xóa nội dung trong ô TextBox.
private void rdoJava_CheckedChanged(object sender, EventArgs e) { if(rdoJava.Checked == true) { txtHienThi.Text = "Bạn đã chọn học môn " + rdoJava.Text; } else { txtHienThi.Text = ""; } }
Tương tự như vậy ta cũng sẽ xử lý cho các RadioButton còn lại.
private void rdoC_CheckedChanged(object sender, EventArgs e) { if (rdoC.Checked == true) { txtHienThi.Text = "Bạn đã chọn học môn " + rdoC.Text; } else { txtHienThi.Text = ""; } } private void rdoCPP_CheckedChanged(object sender, EventArgs e) { if (rdoCPP.Checked == true) { txtHienThi.Text = "Bạn đã chọn học môn " + rdoCPP.Text; } else { txtHienThi.Text = ""; } } private void rdoAndroid_CheckedChanged(object sender, EventArgs e) { if (rdoAndroid.Checked == true) { txtHienThi.Text = "Bạn đã chọn học môn " + rdoAndroid.Text; } else { txtHienThi.Text = ""; } }
Kết quả:
4. Code hoàn chỉnh
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 EventsRadioButton { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void rdoJava_CheckedChanged(object sender, EventArgs e) { if(rdoJava.Checked == true) { txtHienThi.Text = "Bạn đã chọn học môn " + rdoJava.Text; } else { txtHienThi.Text = ""; } } private void rdoC_CheckedChanged(object sender, EventArgs e) { if (rdoC.Checked == true) { txtHienThi.Text = "Bạn đã chọn học môn " + rdoC.Text; } else { txtHienThi.Text = ""; } } private void rdoCPP_CheckedChanged(object sender, EventArgs e) { if (rdoCPP.Checked == true) { txtHienThi.Text = "Bạn đã chọn học môn " + rdoCPP.Text; } else { txtHienThi.Text = ""; } } private void rdoAndroid_CheckedChanged(object sender, EventArgs e) { if (rdoAndroid.Checked == true) { txtHienThi.Text = "Bạn đã chọn học môn " + rdoAndroid.Text; } else { txtHienThi.Text = ""; } } } }
Như vậy là chúng ta đã tìm hiểu xong về sự kiện CheckedChanged của RadioButton trong C# Winforms. Trên đây là một ví dụ đơn giản về cách tạo và sử dụng sự kiện CheckedChanged, các bạn có thể áp dụng nó vào các bài toán khác phức tạp hơn nhé. Hãy sáng tạo để học hỏi thêm, chúc các bạn thành công !!!