Điều khiển Combobox là gì?
Điều khiển combobox giúp bạn hiển thị danh sách thả xuống với nhiều mục. Xem nó như một sự kết hợp của hộp văn bản trong đó người dùng nhập văn bản và danh sách thả xuống mà từ đó người dùng chọn một mục. Lưu ý rằng hộp kết hợp hiển thị từng mục một.
Trong hướng dẫn Visual Basic này, bạn sẽ học,
- Điều khiển Combobox là gì?
- Tạo Combobox
- Thêm các mục vào Combobox
- Chọn các mục Combobox
- Truy xuất các giá trị của Combobox
- Xóa các mục Combobox
- Nguồn dữ liệu ràng buộc
- Sự kiện SelectedIndexChanged
Tạo Combobox
Một ComboBox có thể được tạo như sau:
Bước 1) Tạo một ứng dụng mới.
Bước 2) Kéo điều khiển hộp tổ hợp từ hộp công cụ vào biểu mẫu.
Bạn sẽ tạo một điều khiển combobox.
Thêm các mục vào Combobox
Bây giờ chúng tôi đã tạo một hộp kết hợp, hãy để chúng tôi trình bày cách thêm các mục vào nó.
Nhấp đúp vào điều khiển hộp kết hợp mà bạn đã thêm. Bạn sẽ được chuyển từ tab thiết kế sang tab có mã.
Để thêm một mục vào điều khiển hộp tổ hợp, chúng tôi sử dụng thuộc tính Mục. Hãy để chúng tôi chứng minh điều này bằng cách thêm hai mục vào hộp kết hợp, Nam và Nữ:
ComboBox1.Items.Add("Male")ComboBox1.Items.Add("Female")
Chúng ta cũng có thể chọn thêm các mục vào combobox tại thời điểm thiết kế từ cửa sổ Thuộc tính. Dưới đây là các bước:
Bước 1) Mở tab thiết kế và nhấp vào điều khiển hộp kết hợp.
Bước 2) Di chuyển đến cửa sổ Thuộc tính và xem tùy chọn Mục.
Bước 3) Nhấp vào
… Nằm ở bên phải của (Bộ sưu tập).Bước 4) Bạn sẽ thấy một cửa sổ mới. Đây là nơi bạn nên thêm các mục vào hộp kết hợp, như hình dưới đây:
Bước 5) Sau khi nhập xong các mục, hãy nhấp vào nút OK.
Bước 6) Nhấp vào nút Bắt đầu từ thanh công cụ trên cùng và nhấp vào biểu tượng thả xuống trên hộp kết hợp.
Các mục đã được thêm thành công vào điều khiển hộp kết hợp.
Chọn các mục Combobox
Bạn có thể cần đặt mục mặc định sẽ được chọn khi biểu mẫu được tải. Bạn có thể đạt được điều này thông qua phương thức SelectedItem (). Ví dụ: để đặt giới tính đã chọn mặc định thành Nam, bạn có thể sử dụng câu lệnh sau:
ComboBox1.SelectedItem = "Male"
Khi bạn chạy mã, điều khiển combobox sẽ như hình dưới đây:
Truy xuất các giá trị của Combobox
Bạn có thể lấy mục đã chọn từ hộp kết hợp của mình. Điều này có thể được thực hiện bằng cách sử dụng thuộc tính văn bản. Hãy để chúng tôi chứng minh điều này bằng cách sử dụng hộp kết hợp ở trên của chúng tôi với hai mục là Nam và Nữ. Làm theo các bước dưới đây:
Bước 1) Nhấp đúp vào hộp kết hợp để mở tab có mã VB.NET.
Bước 2) Thêm mã sau:
Public Class Form1Private Sub ComboBox1_SelectedIndexChanged(sd As Object, evnt As EventArgs) Handles ComboBox1.SelectedIndexChangedDim var_gender As Stringvar_gender = ComboBox1.TextMessageBox.Show(var_gender)End SubEnd Class
Bước 3) Nhấp vào nút Bắt đầu từ thanh công cụ để thực thi mã. Bạn sẽ nhận được biểu mẫu sau:
Bước 4) Nhấp vào nút thả xuống và chọn giới tính của bạn. Trong trường hợp của tôi. Tôi chọn Nam và tôi nhận được những điều sau:
Đây là ảnh chụp màn hình của mã:
Giải thích mã:
- Tạo một lớp có tên là Form1. Lớp sẽ có thể truy cập công khai vì công cụ sửa đổi quyền truy cập của nó đã được đặt thành Công khai.
- Bắt đầu một thủ tục con có tên ComboBox1_SelectedIndexChanged. Điều này được tạo tự động khi bạn nhấp đúp vào điều khiển hộp tổ hợp từ tab thiết kế. Thủ tục con này sẽ được gọi khi bạn chọn một mục từ hộp tổ hợp. Sd As Object tham chiếu đến đối tượng đã nêu ra sự kiện trong khi sự kiện As EventArgs có dữ liệu sự kiện s.
- Tạo một số nguyên chuỗi có tên var_uality.
- Đặt giá trị của biến var_uality thành mục được chọn trên hộp tổ hợp.
- In giá trị của biến var_uality trên MesageBox.
- Kết thúc thủ tục con ComboBox1_SelectedIndexChanged.
- Kết thúc lớp Form1.
Xóa các mục Combobox
Bạn có thể xóa một mục khỏi hộp kết hợp của mình. Có hai cách mà bạn có thể thực hiện điều này. Bạn có thể sử dụng chỉ mục mục hoặc tên của mục.
Khi sử dụng chỉ mục mục, bạn nên sử dụng thuộc tính Items.RemoveAt () như hình dưới đây:
ComboBox1.Items.RemoveAt(1)
Trong ví dụ trên, chúng tôi đang xóa mục nằm ở chỉ mục 1 của hộp tổ hợp. Lưu ý rằng các chỉ mục combobox bắt đầu từ chỉ mục 0, nghĩa là lệnh trên sẽ xóa mục thứ hai của combobox.
Để xóa mục bằng tên của nó, bạn nên sử dụng thuộc tính Items.Remove () như hình dưới đây:
ComboBox1.Items.Remove("Female")
Đoạn mã trên sẽ xóa mục có tên Female khỏi ComboBox1.
Nguồn dữ liệu ràng buộc
Một ComboBox có thể được điền từ Tập dữ liệu. Hãy xem xét Truy vấn SQL được đưa ra bên dưới:
select emp_id, emp_name from employees;
Bạn có thể tạo một nguồn dữ liệu trong một chương trình, sau đó sử dụng mã sau để liên kết nó:
comboBox1.DataSource = ds.Tables(0)comboBox1.ValueMember = "emp_id"comboBox1.DisplayMember = "emp_name"
Điều này sẽ cung cấp cho bạn một cách dễ dàng để điền vào điều khiển combobox của bạn với dữ liệu mà không cần phải nhập từng mục riêng lẻ.
Sự kiện SelectedIndexChanged
Loại sự kiện này được gọi khi bạn thay đổi mục đã chọn trên hộp kết hợp của mình. Đây là sự kiện bạn nên sử dụng khi bạn cần triển khai một hành động khi có thay đổi trên mục đã chọn của hộp kết hợp. Hãy để chúng tôi chứng minh điều này bằng cách sử dụng một ví dụ:
Bước 1) Tạo ứng dụng biểu mẫu cửa sổ mới.
Bước 2) Sau đó, bạn cần Kéo và thả hai điều khiển combobox vào biểu mẫu.
Bước 3) Nhấp đúp vào bên trong biểu mẫu để mở tab cho mã. Nhập mã sau:
Public Class Form1Private Sub Form1_Load(sd As Object, evnt As EventArgs) Handles MyBase.LoadComboBox1.Items.Add("Males")ComboBox1.Items.Add("Females")End SubPrivate Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChangedComboBox2.Items.Clear()If ComboBox1.SelectedItem = "Males" ThenComboBox2.Items.Add("Nicholas")ComboBox2.Items.Add("John")ElseIf ComboBox1.SelectedItem = "Females" ThenComboBox2.Items.Add("Alice")ComboBox2.Items.Add("Grace")End IfEnd SubEnd Class
Bước 4) Nhấp vào nút Bắt đầu từ thanh trên cùng để chạy mã. Bạn sẽ nhận được kết quả sau:
Bước 5) Nhấp vào nút thả xuống trên hộp kết hợp đầu tiên và chọn Nam. Di chuyển con trỏ chuột đến hộp tổ hợp thứ hai và nhấp vào nút thả xuống của nó. Xem các mặt hàng có sẵn:
Bước 6) Di chuyển đến hộp kết hợp đầu tiên và chọn Nữ. Di chuyển đến hộp kết hợp thứ hai và xem các mục có sẵn:
Đây là ảnh chụp màn hình của mã:
Giải thích mã:
- Tạo một lớp có tên là Form1.
- Bắt đầu một thủ tục con có tên là Form1_Load (). Điều này sẽ được kích hoạt khi biểu mẫu được tải. Sd As Object tham chiếu đến đối tượng đã nêu ra sự kiện trong khi hệ thống As EventArgs có dữ liệu sự kiện.
- Thêm mục Males vào ComboBox1.
- Thêm mục Nữ vào ComboBox1.
- Kết thúc thủ tục con Form1_Load ().
- Bắt đầu một thủ tục con có tên ComboBox1_SelectedIndexChanged (). Điều này sẽ được gọi khi một mục được chọn trên hộp kết hợp đầu tiên. Người gửi As Object tham chiếu đến đối tượng đã nêu ra sự kiện trong khi e As EventArgs có dữ liệu sự kiện.
- Làm cho ComboBox2 trống, xóa tất cả các mục khỏi nó.
- Tạo một điều kiện. Kiểm tra xem mục đã chọn trên ComboBox1 có phải là Con đực hay không.
- Thêm vật phẩm Nicholas vào ComboBox2 khi điều kiện trên là đúng, tức là vật phẩm được chọn trên ComboBox1 là Nam.
- Thêm vật phẩm John vào ComboBox2 khi điều kiện trên là đúng, tức là vật phẩm được chọn trên ComboBox1 là Con đực.
- Tạo một điều kiện. Kiểm tra xem mục đã chọn trên ComboBox1 có phải là Nữ hay không.
- Thêm vật phẩm Alice vào ComboBox2 khi điều kiện trên là đúng, tức là vật phẩm được chọn trên ComboBox1 là Nữ.
- Thêm vật phẩm Grace vào ComboBox2 khi điều kiện trên là đúng, tức là vật phẩm được chọn trên ComboBox1 là Nữ.
- Cuối khối If.
- Kết thúc thủ tục con ComboBox1_SelectedIndexChanged ().
- Kết thúc lớp học Biểu mẫu1.
Tóm lược
- Một ComboBox được tạo bằng cách kéo nó từ hộp công cụ và thả nó vào biểu mẫu.
- Nó cung cấp cho chúng tôi một cách trình bày nhiều tùy chọn cho người dùng.
- Chúng ta có thể đặt mục mặc định được chọn trên ComboBox khi biểu mẫu được tải.
- Sự kiện SelectedIndexChanged giúp chúng tôi chỉ định hành động cần thực hiện khi một mục cụ thể được chọn trên hộp kết hợp.