jueves, 8 de marzo de 2012

Drag & Drop (Arrastrar y Soltar) de archivos a un ListBox en VB.NET

Más de llo mismo pero esta vez para todos los archivos seleccionados en vez de uno, como en el caso del Drag & Drop de la imagen.

Ahora la idea es arrastrar archivos a un ListBox para que éste contenga y muestre las rutas de los archivos una vez terminada la acción.

Para esto necesitamos agregar un ListBox a un formulario y poner su propiedad AllowDrop a True. Una vez hecho esto escribimos el siguiente código:


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

    Private Sub ListBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragDrop
        If e.Data.GetDataPresent(DataFormats.FileDrop) Then
            Dim strRutaArchivos() As String
            Dim i As Integer

            'Asignamos las rutas de los archivos a un array
            strRutaArchivos = e.Data.GetData(DataFormats.FileDrop)
            'Lo recorremos con un For y los vamos agregando al ListBox uno por uno
            For i = 0 To strRutaArchivos.Length - 1
                ListBox1.Items.Add(strRutaArchivos(i))
            Next
        End If
    End Sub

Concluyendo, es lo mismo que el ejemplo para la imagen, sólo que esta vez trabajamos todos los archivos seleccionados para arrastrarlos y soltarlos en un ListBox.

No hay comentarios:

Publicar un comentario