Listbox có thể đặt ở chế độ cho phép người dùng chọn đồng thời nhiều mục bằng cách click và di chuột hoặc click chuột kết hợp với nhấn phím Shift/ Ctrl để chọn các mục liền nhau/ rời rạc nhau, như 2 hình dưới đây:
Hiển thị kiểu CheckBox
Ngôn ngữ lập trình Visual Basic
35
Thiết kế giao diện: Lấy ví dụ như hình trên
Đặt giá trị cho các điều khiển, ngoài ra cần thêm một nút lệnh có tên và caption tương ứng là: cmdHienThi, "Hiển thị các mục đang được chọn"
Viết lệnh:
Option Explicit
'/// Hiển thị các mục hiện đang được chọn.
'// Nếu một mục có chỉ số i đang được chọn thì lstDanhSach.Selected(i) sẽ có giá trị True '// Giá trị của mục có chỉ số i sẽ là : lstDanhSach.List(i)
Private Sub cmdHienThi_Click() Dim i As Integer
For i = 0 To lstDanhSach.ListCount – 1 '/// Kiểm tra từng mục trong ListBox
If lstDanhSach.Selected(i) = True Then'/// Nếu mục i này được chọn (=True)
MsgBox lstDanhSach.List(i) '/// Thì hiển thị ra màn hình
End If Next
End Sub
'/// Thực hiện thêm nội dung trong textbox vào Listbox khi người dùng '/// Click chuột vào nút "Thêm"
Private Sub cmdThem_Click()
lstDanhSach.AddItem txtNewItem.Text, 0 '/// 0 --> Thêm vào đầu danh sách End Sub
'/// Gọi Phương thức Clear để xoá toàn bộ các mục trong ListBox
Private Sub cmdXoa_Click()
lstDanhSach.Clear End Sub
Ghi chú:
• Khi duyệt tất cả các phần tử trong ListBox, ta thường sử dụng vòng lặp dạng
For i = 0 to listbox1.ListCount – 1 ….
• Khi muốn lấy các mục đang được chọn (ở chế độ MultiSelect) thì cần kiểm tra thuộc tính Selected(i) = True ? để biết mục i có được chọn hay không.