none
Drag and drop - récupérer le chemin RRS feed

  • Question

  • Bonjour,

    J'ai une liste liste box qui doit contenir des chemins de divers fichiers.

    Actuellement j'introduit les chemins au moyen d'un bouton et de l'outi "OpenFileDialog".

    Je souhaite récupérer le chemin d'un ou plusieurs fichiers lorsqu'on les déplace sur la liste box.

    comment faire ceci?

    bonne journée

    Julien

    mardi 14 février 2012 14:33

Réponses

  • Bonjour,

    Voici le code qui vous permettra de récupérer le répertoire des fichiers drag&droper.

        Private Sub ListBox1_DragDrop(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragDrop
            Dim fichiers As String()
            fichiers = e.Data.GetData(DataFormats.FileDrop)
    
            For Each fichier In fichiers
                Me.ListBox1.Items.Add(System.IO.Path.GetDirectoryName(fichier))
            Next
        End Sub
    
        Private Sub ListBox1_DragEnter(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragEnter
            If e.Data.GetDataPresent(DataFormats.FileDrop) Then
                e.Effect = DragDropEffects.Link
            Else
                e.Effect = DragDropEffects.None
            End If
        End Sub

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    mardi 14 février 2012 19:03
    Modérateur

Toutes les réponses

  • Bonjour,

    Voici le code qui vous permettra de récupérer le répertoire des fichiers drag&droper.

        Private Sub ListBox1_DragDrop(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragDrop
            Dim fichiers As String()
            fichiers = e.Data.GetData(DataFormats.FileDrop)
    
            For Each fichier In fichiers
                Me.ListBox1.Items.Add(System.IO.Path.GetDirectoryName(fichier))
            Next
        End Sub
    
        Private Sub ListBox1_DragEnter(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragEnter
            If e.Data.GetDataPresent(DataFormats.FileDrop) Then
                e.Effect = DragDropEffects.Link
            Else
                e.Effect = DragDropEffects.None
            End If
        End Sub

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    mardi 14 février 2012 19:03
    Modérateur
  • Bonjour, Julien,

    Est-ce que vous avez testé la solution proposée ? Merci de partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.

    Cordialement,

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    jeudi 16 février 2012 09:32
  • Bonjour,

    Désolé pour cette réponse tardive, je ne peux malheureusement pas travailler suffisamment souvent sur ce programme.

    J'ai deux questions:

     - A quoi sert le sub  listbox1.dragEnter ?

     - Lorsque je déplace un fichier dans ma liste box, le symbole de ma souris reste "symbole interdit" alors que j'ai modifier la propriété "Allow trop" à True

    Merci pour vos réponses

    Julien

    vendredi 24 février 2012 21:02