• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Lập trình kéo-thả tập tin vào listbox

Các thủ thuật liên quan đến ứng dụng, biểu mẫu và control

Điều hành viên: tungcan5diop, QUANITGROBEST

ShinichiKudo
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 70
Ngày tham gia: T.Tư 26/03/2008 6:42 pm
Đến từ: Đăk Nông
Has thanked: 4 time
Liên hệ:

Lập trình kéo-thả tập tin vào listbox

Gửi bàigửi bởi ShinichiKudo » CN 27/04/2008 9:04 am

Thủ thuật: Lập trình kéo-thả tập tin vào listbox
Tác giả: Sưu tầm
Mô tả: Viết chương trình VB .Net cho phép kéo-thả một số tập tin trên màn hình desktop vào 1 label của form ứng dụng, 1 listbox khác trong form sẽ hiển thị các tập tin kéo-thả vào.


Để hiển thị hết các file được chọn trong hoạt động drag-drop, bạn nên viết lệnh lặp để ‘add’ từng file trong danh sách vào listbox. Hàm xử lý sự kiện dragdrop cho label được viết lại như sau (có kiểm tra xem dữ liệu dragdrop có phải là danh sách các file không trước khi ‘add’ chúng vào listbox):

Mã: Chọn hết

  1. Private Sub Label9_DragDrop (ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragDrop
  2. ‘kiểm tra xem có file dữ liệu dragdrop là danh sách file không
  3. If e.Data.GetDataPresent(DataFormats.FileDrop) Then
  4. Dim i As Integer
  5. Dim files() As String = e.Data.GetData(DataFormats.FileDrop, True)
  6. ‘ Lặp ‘add’ từng tên file bào listbox
  7. For i = 0 To files.Length - 1
  8. lstNguon.Items.Add(files(i))
  9. Next
  10. End If
  11. End Sub

Ngoài ra bạn nên viết thêm hàm xử lý sự kiện DragEnter cho label tương ứng như sau:

Mã: Chọn hết

  1. Private Sub Label9_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragEnter
  2. If e.Data.GetDataPresent(DataFormats.FileDrop) Then
  3. e.Effect = DragDropEffects.All
  4. End If
  5. End Sub


Lưu ý là phải thiết lập thuộc tính AllowDrop của label về giá trị True thì dragdrop mới hoạt động với label tương ứng.



Quay về “[.NET] Ứng dụng - Form và Control”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách