Login>>  Nick Pass

 Học tập : Lập trình : Visual Basic
    Điều khiển Listbox
 

Bạn hãy click vào tên Diễn đàn con (phía trên) nếu muốn gửi Chủ đề mới
hoặc cuộn xuống cuối trang để trả lời cho Chủ đề này.


    
Tác giả Nội dung
lonelywind1982
FITHOU_Staff

Ngày gia nhập:
11/08/2004 - 11:40:07
Số bài gửi: 400
Offline
Điều khiển Listbox
Ngày gửi : 16/10/2006 lúc 09:21:01 - Lượt xem: 1564

Quay về đầu        
lonelywind1982
FITHOU_Staff

Ngày gia nhập:
11/08/2004 - 11:40:07
Số bài gửi: 400
Offline
Ngày gửi : 16/10/2006 lúc 09:37:32

Properties – Thuộc tính ItemDataTập hợp các giá trị tương ứng với các mục trong ListBox. ListGiá trị Text của các mục trong ListBox. ListCountSố lượng các mục của ListBox. ListIndexChỉ số của mục được chọn trong ListBox. Nếu không có mục nào được chọn thì có giá trị -1. Nếu bạn có 3 mục trong Listbox thì các mục được đánh số từ 0-2 và tất nhiên mục đầu tiên sẽ có giá trị là 0, nếu bạn chọn mục thứ 2 thì ListIndex sẽ là 1. NewIndexChỉ số của mục mới nhất được thêm vào Listbox. StyleThuộc tính thiết lập dạng hiển thị của Listbox đã được mô tả ở phần trên. TextGiá trị Text của mục được chọn tương ứng trong ListBox. MultiSelectThuộc tính thiết lập có cho phép người sử dụng lựa chọn nhiều mục, tuy nhiên thì sự phức tạp trong việc xác định mục nào được chọn lại tăng lên đáng kể. Chẳng hạn nội dung của Text khó xác định được vì nó sẽ lưu giá trị của mục được chọn cuối cùng và đương nhiên ListIndex cũng vậy, nó là chỉ số của mục cuối được chọn. SelectedThuộc tính cho biết mục với Index cung cấp có được chọn hay không. Thường được sử dụng khi thuộc tính MultiSelect thiết lập khác None. ItemData / NewIndex ItemData là giá trị ẩn cho mỗi một mục trong ListBox. ItemData có thể sử dụng để lưu giá trị Khóa như PK_iCustomerID trong khi tên khách hàng sẽ được hiển thị dạng Text trong ListBox như ví dụ bên. Bạn không thể dựa vài ListIndex để biết được tên khách hàng nào được chọn, trừ khi danh sách được sắp xếp. NewIndex là chỉ số của mục mới nhất đang được thêm vào ListBox. lstCustomer.AddItem "Nguyen Van Tuan" lstCustomer.ItemData(cboBox.NewIndex) = 1 lstCustomer.AddItem "Ha Van Toan" lstCustomer.ItemData(lstCustomer.NewIndex) = 2 lstCustomer.AddItem "Nguyen Hoai Nam" lstCustomer.ItemData(lstCustomer.NewIndex) = 3 lstCustomer.AddItem "Truong Thi My Tam" lstCustomer.ItemData(lstCustomer.NewIndex) = 4 MultiSelect 0-noneListbox dạng thông thường. Cho phép chọn từng mục, bạn phải thiết lập thuộc tính này là 0-none khi Style là Checkbox. 1-SimpleBạn sử dụng tổ hợp Ctrl+trái chuột để lựa chọn các mục có thể không liên kề nhau, hoặc các phím mũi tên lên xuống và space để chọn. 2-ExtendedBạn không thể chọn các mục liền kề nhau bằng tổ hợp Shift+Space hay các phím mũi tên với space mà chỉ có thể sử dụng trái chuột+Ctrl. AddItem / RemoveItem / Clear AddItem là phương thức thêm 1 mục vào Listbox. Lúc này NewIndex sẽ là Index của mục mới được thêm vào. RemoveItem để gỡ bỏ mục khỏi danh sách. Như ví dụ ở bên gỡ bỏ mục đang được chọn trong Listbox. Clear Xóa bỏ toàn bộ các mục.lstCustomer.AddItem "Nguyen Van Tuan" lstCustomer.AddItem "Ha Van Toan" lstCustomer.AddItem "Nguyen Hoai Nam" lstCustomer.AddItem "Truong Thi My Tam" lstCustomer.RemoveItem lstCustomer.ListIndex
Quay về đầu       
lonelywind1982
FITHOU_Staff

Ngày gia nhập:
11/08/2004 - 11:40:07
Số bài gửi: 400
Offline
Ngày gửi : 16/10/2006 lúc 09:42:37

Dưới đây là 1 ví dụ làm việc với Listbox với thuộc tính Style là Checkbox. Thiết kế Form với giao diện trên bao gồm: Command Button cmdSave, cmdClose, Listbox lstCustomers, Label lblInfo. Phương thức nạp danh sách các mục từ tệp văn bản mytext.txt. Bạn có thể soạn thảo bằng Notepad với nội dung: Nguyen Van Tuan;True Ha Van Toan;True Nguyen Hoa Nam;False Private Sub loadFromFile() Dim i, iFilenumber As Integer Dim sFilename, sItem As String Dim bChecked As Boolean Dim sSplit() As String On Error GoTo Err_Handle: sFilename = App.Path ' Thư mục nơi Project chạy If Right(sFilename, 1) <> "\" Then sFilename = sFilename & "\" sFilename = sFilename & "mylist.txt" iFilenumber = FreeFile ' Chỉ số quản lý tệp Open sFilename For Input As #iFilenumber Do While Not EOF(iFilenumber) Line Input #iFilenumber, sItem sSplit = Split(sItem, ";") ' Tách dòng thành các phần đưa vào sSplit lstCustomers.AddItem sSplit(0) lstCustomers.Selected(lstCustomers.NewIndex) = sSplit(1) Loop Close (iFilenumber) Exit Sub ' Nếu không có lỗi thì thoát Err_Handle: 'Xử lý khi xảy ra lỗi. Select Case Err.Number Case 56 MsgBox "File not found" End Select Exit Sub End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub cmdSave_Click() Call Save2File End Sub Private Sub Save2File() Dim i, iFilenumber As Integer Dim sFilename, sItem As String Dim bChecked As Boolean sFilename = App.Path If Right(sFilename, 1) <> "\" Then sFilename = sFilename & "\" sFilename = sFilename & "mylist.txt" iFilenumber = FreeFile Open sFilename For Output As #iFilenumber For i = 0 To lstCustomers.ListCount - 1 sItem = lstCustomers.List(i) & ";" & lstCustomers.Selected(i) Print #iFilenumber, sItem sItem = "" Next i Close (iFilenumber) End Sub Private Sub Form_Load() loadFromFile End Sub Private Sub lstCustomers_ItemCheck(Item As Integer) Dim i, iChecked As Integer iChecked = 0 For i = 0 To lstCustomers.ListCount - 1 If lstCustomers.Selected(i) = True Then iChecked = iChecked + 1 End If Next i lblInfo = "You choice " & Str(iChecked) & " items." End Sub Đoạn code không được ghi chú đầy đủ, nếu có gì không hiểu thì các bạn cứ hỏi nhé. Hy vọng sẽ giúp ích được cho các bạn sinh viên khóa 05.
Quay về đầu       

 

 

 

| Quay về đầu trang |  





© 2004 Trung tâm Công nghệ đào tạo trực tuyến - Khoa Công nghệ Tin học - Đại học Mở Hà Nội