Slepen van een file/bestand

Status
Niet open voor verdere reacties.

bonnowagt

Gebruiker
Lid geworden
7 dec 2006
Berichten
445
IK heb een programma gemaakt in Visual Basic 2010. In het programma staat een listbox met mp3 bestanden. Ik haal die binnen door een openfiledialog. Nu wil ik graag dat ik zo rechtstreeks vanuit een map op de C-disk bijvoorbeeld via verkenner dit bestand naar mijn listbox kan slepen. Is dit mogelijk en hoe. Wie kan mij op weg helpen.

Alvast bedankt
 
slepen

Ik heb inmiddels de oplossing. De code is:

Onderstaande code werkt perfect, alleen wat ik niet voor elkaar kan krijgen is het volgende:

Ik wil graag dat je de listbox1 alleen mediabestaanden kan accepteren, dus bijv. volgende bestanden:"Media Files|*.mp3;*.wav;*.flac;*.acc;*.avi;*.mp4;*.mpeg"

Code:
 Private Sub ListBox1_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragDrop
        Dim Files = CType(e.Data.GetData(DataFormats.FileDrop), String())
        For Each filename As String In Files
                      ListBox1.Items.Add(filename)
        Next
    End Sub

Code:
 Private Sub ListBox1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragEnter
        If e.Data.GetDataPresent(DataFormats.FileDrop) Then

            e.Effect = DragDropEffects.Copy
        End If
    End Sub
 
Laatst bewerkt door een moderator:
Zoiets?

PHP:
Private Sub ListBox1_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragDrop
Dim Files = CType(e.Data.GetData(DataFormats.FileDrop), String())
For Each filename As String In Files
If filename.EndsWith(".mp3") Or filename.EndsWith(".wav") Then ListBox1.Items.Add(filename)
Next
End Sub

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

Je kan er meer toevoegen door er simpel een
PHP:
Or filename.EndsWith("extentie")
bij te zetten :)
 
Laatst bewerkt:
En wat je kan doen om de code wat overzichtelijker te maken, is dit:

PHP:
    Private Sub ListBox1_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragDrop
        Dim Files = e.Data.GetData(DataFormats.FileDrop)
        For Each F As String In Files
            If EW(F, ".mp3") Or EW(F, ".wav") Then ListBox1.Items.Add(F)
        Next
    End Sub

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

    Private Function EW(ByVal BestandsNaam As String, ByVal Extentie As String) As Boolean
        If BestandsNaam.EndsWith(Extentie) Then
            Return True
        Else : Return False
        End If
    End Function

Dan gebruik je een functie om te checken of het bestand eindigt met een extentie die je specificeerd.


P.S. vraag even op ''Opgelost'' zetten? (rechtsbovenin)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan