Combo VB.NetBox Kiểm soát bằng EXAMPLE

Combobox Control là gì?

Điều khiển hộp kết hợp giúp bạn hiển thị danh sách thả xuống với nhiều mục. Xem nó như 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 trong đó người dùng chọn một mục. Lưu ý rằng hộp kết hợp hiển thị một mục tại một thời điểm.

Tạo một Combobox

một sự kết hợpBox 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 kết hợp từ hộp công cụ vào biểu mẫu.

Tạo một Combobox

Bạn sẽ tạo được một điều khiển hộp kết hợp.

Thêm mục vào Combobox

Bây giờ chúng ta đã tạo được hộp kết hợp, hãy cùng tìm hiểu cách thêm các mục vào hộp đó.

Double nhấ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 kết hợp, chúng ta sử dụng thuộc tính Items. Chúng ta hãy chứng minh điều này bằng cách thêm hai mục vào hộp kết hợp, Male và Female:

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 hộp kết hợp tại thời điểm thiết kế từ cửa sổ Thuộc tính. Sau đâ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 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).

Thêm mục vào Combobox

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ư hiển thị bên dưới:

Thêm mục vào Combobox

Bước 5) Sau khi hoàn tất việc nhập 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.

Thêm mục vào Combobox

Các mục đã được thêm thành công vào hộp điều khiển kết hợp.

Chọn mục Combobox

Bạn có thể cần thiết lập mục mặc định sẽ được chọn khi biểu mẫu được tải. Bạn có thể thực hiện điều này thông qua phương thức SelectedItem(). Ví dụ, để thiết lập giới tính được chọn mặc định là Nam, bạn có thể sử dụng câu lệnh sau:

ComboBox1.SelectedItem = "Male"

Khi bạn chạy mã, hộp điều khiển combobox sẽ như hình dưới đây:

Chọn mục Combobox

Lấy giá trị Combobox

Bạn có thể lấy mục đã chọn từ hộp kết hợp của mình. Có thể thực hiện việc này bằng cách sử dụng thuộc tính text. Chúng ta hãy chứng minh điều này bằng cách sử dụng hộp kết hợp ở trên với hai mục là Male và Female. Thực hiện theo các bước dưới đây:

Bước 1) Double nhấp vào hộp kết hợp để mở tab với VB.NET Mã.

Bước 2) Thêm mã sau:

Public Class Form1
    Private Sub ComboBox1_SelectedIndexChanged(sd As Object, evnt As EventArgs) Handles ComboBox1.SelectedIndexChanged

        Dim var_gender As String

        var_gender = ComboBox1.Text

        MessageBox.Show(var_gender)
		
    End Sub
End 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:

Lấy giá trị Combobox

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 thông tin sau:

Lấy giá trị Combobox

Đây là ảnh chụp màn hình của mã:

Lấy giá trị Combobox

Giải thích mã:

  1. Tạo một lớp có tên Form1. Lớp này sẽ có thể truy cập công khai vì công cụ sửa đổi truy cập của nó đã được đặt thành Công khai.
  2. 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ế. Quy trình 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 đã tạo sự kiện trong khi sự kiện As EventArgs có dữ liệu sự kiện s.
  3. Tạo một số nguyên chuỗi có tên var_gender.
  4. Đặt giá trị của biến var_gender thành mục được chọn trên hộp kết hợp.
  5. In giá trị của biến var_gender trên Tin nhắnBox.
  6. Kết thúc comboBoxThủ tục phụ 1_SelectedIndexChanged.
  7. 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 để thực hiện việc này. Bạn có thể sử dụng chỉ mục mục hoặc tên 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ư bên dưới:

ComboBox1.Items.RemoveAt(1)

Trong ví dụ trên, chúng ta đang xóa mục nằm ở chỉ mục 1 của combobox. Lưu ý rằng chỉ mục combobox bắt đầu ở 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ư bên dưới:

ComboBox1.Items.Remove("Female")

Đoạn mã trên sẽ loại bỏ mục có tên Nữ khỏi ComboBox1.

Nguồn dữ liệu ràng buộc

một sự kết hợpBox có thể được điền từ Bộ dữ liệu. Hãy xem xét truy vấn SQL được đưa ra dưới đây:

select emp_id, emp_name from employees; 

Bạn có thể tạo nguồn dữ liệu trong chương trình rồi sử dụng đoạn 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 dữ liệu vào hộp điều khiển kết hợp mà không cần phải nhập từng mục riêng lẻ.

Sự kiện SelectedIndexChanged

Kiểu sự kiện này được gọi khi bạn thay đổi mục đã chọn trên combobox 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 combobox. Chúng ta hãy chứng minh điều này bằng cách sử dụng một ví dụ:

Bước 1) Tạo một ứng dụng Window Forms mới.

Bước 2) Sau đó bạn cần Kéo và thả hai điều khiển hộp kết hợp vào biểu mẫu.

Sự kiện SelectedIndexChanged

Bước 3) Double nhấp vào bên trong biểu mẫu để mở tab mã. Nhập mã sau:

Public Class Form1
    Private Sub Form1_Load(sd As Object, evnt As EventArgs) Handles MyBase.Load

        ComboBox1.Items.Add("Males")

        ComboBox1.Items.Add("Females")

    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged

        ComboBox2.Items.Clear()

        If ComboBox1.SelectedItem = "Males" Then

            ComboBox2.Items.Add("Nicholas")

            ComboBox2.Items.Add("John")

        ElseIf ComboBox1.SelectedItem = "Females" Then

            ComboBox2.Items.Add("Alice")

            ComboBox2.Items.Add("Grace")

        End If
    End Sub
End 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:

Sự kiện SelectedIndexChanged

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 Male. Di chuyển con trỏ chuột đến hộp kết hợp thứ hai và nhấp vào nút thả xuống của nó. Xem các mục có sẵn:

Sự kiện SelectedIndexChanged

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:

Sự kiện SelectedIndexChanged

Đây là ảnh chụp màn hình của mã:

Sự kiện SelectedIndexChanged

Giải thích mã:

  1. Tạo một lớp có tên Form1.
  2. Bắt đầu thủ tục phụ có tên 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 đã phát sinh sự kiện trong khi hệ thống As EventArgs có dữ liệu sự kiện.
  3. Thêm vật phẩm Nam Giới vào ComboBox1.
  4. Thêm vật phẩm Nữ vào ComboBox1.
  5. Kết thúc thủ tục phụ Form1_Load().
  6. Bắt đầu một thủ tục phụ 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. Sender As Object tham chiếu đến đối tượng đã tạo ra sự kiện trong khi e As EventArgs có dữ liệu sự kiện.
  7. Làm comboBox2 trống, xóa tất cả các mục khỏi nó.
  8. Tạo điều kiện. Kiểm tra xem vật phẩm đã chọn có nằm trong Combo hay khôngBox1 là Nam.
  9. Thêm vật phẩm Nicholas vào ComboBox2 khi điều kiện trên đúng tức là item được chọn trên ComboBox1 là Nam.
  10. Thêm vật phẩm John vào ComboBox2 khi điều kiện trên đúng tức là item được chọn trên ComboBox1 là Nam.
  11. Tạo điều kiện. Kiểm tra xem vật phẩm đã chọn có nằm trong Combo hay khôngBox1 là Nữ.
  12. Thêm vật phẩm Alice vào ComboBox2 khi điều kiện trên đúng tức là item được chọn trên ComboBox1 là Nữ.
  13. Thêm vật phẩm Ân Sủng vào ComboBox2 khi điều kiện trên đúng tức là item được chọn trên ComboBox1 là Nữ.
  14. Kết thúc khối If.
  15. Kết thúc comboBoxThủ tục phụ 1_SelectedIndexChanged().
  16. Kết thúc lớp học Form1.

Tổng kết

  • một sự kết hợpBox được tạo bằng cách kéo nó từ hộp công cụ và thả 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ể thiết lập 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 ta chỉ định hành động thực hiện khi một mục cụ thể được chọn trên hộp tổ hợp.