Es ist ziemlich einfach. Aktivieren Sie einfach drap-and-drop, indem Sie die Eigenschaft AllowDrop
auf True
setzen und die Ereignisse DragEnter
und DragDrop
behandeln.
Im Ereignishandler DragEnter
können Sie mit der Klasse DataFormats
überprüfen, ob die Daten den gewünschten Datentyp aufweisen.
Im Ereignishandler DragDrop
verwenden Sie die Data
Eigenschaft der DataEventArgs
, um die tatsächlichen Daten zu empfangen.
Beispiel:
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Me.AllowDrop = True
End Sub
Private Sub Form1_DragDrop(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles Me.DragDrop
Dim files() As String = e.Data.GetData(DataFormats.FileDrop)
For Each path In files
MsgBox(path)
Next
End Sub
Private Sub Form1_DragEnter(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles Me.DragEnter
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
e.Effect = DragDropEffects.Copy
End If
End Sub
Wirklich gute Überlegung (aber es sollte als Kommentar unter der gültigen Antwort hinzugefügt werden) – JCM