Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load ListView1.AllowDrop = True ListView1.View = View.Details ListView1.Columns.Add("Column1", ListView1.Width - 4, HorizontalAlignment.Left) ListView1.Items.Add("C:\test.txt") End Sub Private Sub ListView1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListView1.DragEnter If (e.Data.GetDataPresent(DataFormats.FileDrop)) Then e.Effect = DragDropEffects.All Else e.Effect = DragDropEffects.None End If End Sub Private Sub ListView1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListView1.DragDrop Dim s() As String = e.Data.GetData("FileDrop", False) Dim i As Integer For i = 0 To s.Length - 1 ListView1.Items.Add(s(i)) Next i End Sub Private Sub ListView1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseDown If ListView1.SelectedItems.Count > 0 Then Dim strFilesPath() As String ReDim strFilesPath(ListView1.SelectedItems.Count - 1) For i As Integer = 0 To ListView1.SelectedItems.Count - 1 strFilesPath(i) = ListView1.SelectedItems(i).Text Next Dim dt As DataObject = New DataObject(DataFormats.FileDrop, strFilesPath) ListView1.DoDragDrop(dt, DragDropEffects.Copy) End If End Sub
Pour glisser directement le fichier dans l'explorateur (Oui même si ce n'est pas un objet, donc trouver une technique pour faire un semblant de cliquer-glisser) et donc ne pas s'encombrer avec une DirListBox)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question