è abbastanza facile. Basta abilitare il drap-and-drop impostando la proprietà AllowDrop
su True
e gestire gli eventi DragEnter
e DragDrop
.
Nel gestore di eventi DragEnter
, è possibile verificare se i dati sono del tipo desiderato utilizzando la classe DataFormats
.
Nel gestore di eventi DragDrop
, utilizzare la proprietà Data
dello DataEventArgs
per ricevere i dati effettivi.
Esempio:
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
Davvero una buona considerazione (tuttavia dovrebbe essere aggiunto come commento sotto la risposta valida) – JCM