Sự kiện SelectedIndexChanged ComboBox 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 SelectedIndexChanged ComboBox trong C# Winforms. Đây là một trong các sự kiện được sử dụng nhiều, vì hầu hết các ứng dụng đều chứa các ComboBox.

Mình sẽ hướng dẫn các bạn cách tạo và xử lý sự kiện SelectedIndexChanged, cùng với đó là một ví dụ để các bạn có thể tham khảo.

1. Sự kiện SelectedIndexChanged ComboBox là gì?

Sự kiện SelectedIndexChanged ComboBox là sự kiện xảy ra khi người dùng thay đổi ví trí chọn trong ComboBox.

Giả sử: Ta có một ComboBox chứa 3 nội dung để chọn là Toán, Lý, Hóa. Khi người dùng chọn các nội dung khác nhau thì sự kiện SelectedIndexChanged sẽ xảy ra.

Bài viết này được đăng tại [kiso.vn]

Ví dụ: Chúng ta xử lý khi người dùng chọn vào nội dung Toán thì ở ô TextBox sẽ hiển thị dòng chữ “Bạn đã chọn môn học Toán” chẳng hạn.

Để hiểu rõ hơn cách tạo và sử dụng nó, hãy tiếp tục xem các phần bên dưới nhé.

2. Cách tạo sự kiện SelectedIndexChanged ComboBox trong C# Winforms

Để tạo được sử kiện SelectedIndexChanged thì đầu tiên chúng ta cần thêm vào một ComboBox với các nội dung muốn chọn. Sau đó đặt tên cho nó để tiện chọ việc sử dụng sau này.

selected index changed 01 png

Để thêm nội dung cho ComboBox có hai cách, các bạn có thể áp dụng một trong hai cách để thêm nội dung vào ComboBox nhé.

Cách 1: Thêm bằng cách chọn vào thuộc tính Collection, rồi nhập nội dung cần thêm.

selected index changed 02 pngselected index changed 03 png

Cách 2: Ngoài ra chúng ta có thể thêm nội dung cho ComboBox bằng cách sử dụng thuộc tính Items để lập trình.

cboChonMonHoc.Items.Add("Toán");
cboChonMonHoc.Items.Add("Lý");
cboChonMonHoc.Items.Add("Hóa");

Để tạo sự kiện SelectedIndexChanged ta có thể sử dụng một trong hai cách sau.

Cách 1: Nhấp chuột phải vào ComboBox rồi chọn vào biểu tượng hình sấm sét, sau đó đặt tên cho sự kiện tùy ý.

selected index changed 04 png

Cách 2: Ngoài cách trên chúng ta còn có thể tạo sự kiện bằng cách nhấp đúp chuột trái vào ComboBox. Khi đó hệ thống sẽ tự động tạo sự kiện và đưa chúng ta đến cửa sổ viết code.

3. Xử lý sự kiện SelectedIndexChanged ComboBox trong C# Winforms

Sau khi đã tạo xong sự kiện và thêm nội dung vào ComboBox, bây giờ chúng ta chỉ cần xử lý theo ý muốn nữa là xong.

Giả sử mình có bài toán như sau: ComboBox hiển thị với các nội dụng Toán, Lý, Hóa. Khi người dùng chọn vào nội dung nào thì hiển thị ra TextBox dòng chữ “Bạn đã chọn môn học” cộng với nội dung đã chọn ở ComboBox.

selected index changed 05 png

Ở đây ta cần sử dụng thêm thuộc tính SelectedItem để xác định người dùng đã chọn nội dung có vị trí nào. Khi đó sẽ hiển thị nội dung có vị trí được trả về từ SelectedIndex.

private void cboChonMonHoc_SelectedIndexChanged(object sender, EventArgs e)
        {
            txtHienThi.Text = "Bạn đã chọn môn học " + cboChonMonHoc.SelectedItem.ToString();
        }

Kết quả:

selected index changed 06 png

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 EventsComboBox
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            cboChonMonHoc.Items.Add("Toán");
            cboChonMonHoc.Items.Add("Lý");
            cboChonMonHoc.Items.Add("Hóa");
        }

        private void cboChonMonHoc_SelectedIndexChanged(object sender, EventArgs e)
        {
            txtHienThi.Text = "Bạn đã chọn môn học " + cboChonMonHoc.SelectedItem.ToString();
        }
    }
}

Như vậy là chúng ta đã tìm hiểu xong về sự kiện SelectedIndexChanged ComboxBox trong C# Winforms. Trên đây là một ví dụ cơ bản về cách sử dụng nó, các bạn hãy luyện tập thật nhiều với bài toán phức tạp khác hơn nhé. Chúc các bạn thành công !!!

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *