Hallo Leute,
da ich heute selbst lange danach gegoogelt habe und die gefundenen Codes sehr umfangreich waren, habe ich für meine Zwecke einen überschaubaren Code geschrieben.
Ihr könnt diesen sicher auf Eure eigenen Bedürfnisse anpassen. Ich habe ihn extrem vereinfacht.
Ein Element wird aus einem Listview, welches eine Datei repräsentiert wird per Drag & Drop auf (z.B.) den Desktop geschoben.
Wichtig: Ihr müsst noch programmtechnisch verhindern, dass die Datei im eigenen Listview fallen gelassen wird und dann "auf sich selbst dropt".
Ich hoffe mein Code ist ok.
da ich heute selbst lange danach gegoogelt habe und die gefundenen Codes sehr umfangreich waren, habe ich für meine Zwecke einen überschaubaren Code geschrieben.
Ihr könnt diesen sicher auf Eure eigenen Bedürfnisse anpassen. Ich habe ihn extrem vereinfacht.
Ein Element wird aus einem Listview, welches eine Datei repräsentiert wird per Drag & Drop auf (z.B.) den Desktop geschoben.
VB.NET-Quellcode
- Private Sub ListView_Demo_ItemDrag(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles ListView_Demo.ItemDrag
- '// hier wird das Listview item ausgelesen, in dem ein Dateiname steht
- '// der Einfachheit halber steht im Listview Element der komplette Dateipfad (z.B. c:/Anwendung/Daten/meinedatei.jpg)
- Dim DragoutFilename = ListView_Demo.SelectedItems(0).Text.ToString
- '// nur wenn die Datei tatsächlich existiert
- If File.Exists(DragoutFilename) Then
- '// Datei in den Temp-Ordner kopieren und diese angeben (sonst wird die original Datei VERSCHOBEN)
- Dim Tempfile As String = Path.Combine(Path.GetTempPath, "NameDerZieldatei.jpg")
- File.Copy(DragoutFilename, Tempfile)
- '// DataObjekt für die Übergabe mit dem Dateinamen befüllen
- '// f() = ist eine Listof - da können auch mehrere Dateien übergeben werden
- Dim eDat As New DataObject
- Dim f() As String = {Tempfile}
- eDat.SetData(DataFormats.FileDrop, f)
- '// Drag-Effekt anzeigen
- ListView_Demo.DoDragDrop(eDat, DragDropEffects.Move Or DragDropEffects.Copy)
- End If
- End Sub
Wichtig: Ihr müsst noch programmtechnisch verhindern, dass die Datei im eigenen Listview fallen gelassen wird und dann "auf sich selbst dropt".
Ich hoffe mein Code ist ok.
Liebe Grüße
Roland Berghöfer
Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
Roland Berghöfer
Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at