Guten Morgen allerseits!
Ich arbeite gerade an einem Tool zur Verwaltung von Photos. Dabei werden Daten (Bilder, PDFs, ...) aus anderen Programmen (Explorer oder beliebiger anderer Dateimanager) auf mein Programm gezogen und dort abgelegt (DragDropEffects.Copy).
Im speziellen werden die Bilder auf eine ListView-Komponente gezogen. Das ist ja auch grundsätzlich kein Problem und funktioniert auch,
was ich aber wissen möchte, ist:
auf welchem ListViewItem wurden die Daten abgelegt?
Ich komme einfach nicht dahinter, wie ich herausfinden kann, auf welchem Item (View = LargeIcon) der Benutzer die Dateien abgelegt hat.
Das ist für mich aber wichtig, weil je nachdem, auf welchem Item der Nutzer die Daten ablegt, diese vom Programm intern anders gehandhabt werden.
Mein bisheriges Gerüst:
Danke.
Ich arbeite gerade an einem Tool zur Verwaltung von Photos. Dabei werden Daten (Bilder, PDFs, ...) aus anderen Programmen (Explorer oder beliebiger anderer Dateimanager) auf mein Programm gezogen und dort abgelegt (DragDropEffects.Copy).
Im speziellen werden die Bilder auf eine ListView-Komponente gezogen. Das ist ja auch grundsätzlich kein Problem und funktioniert auch,
was ich aber wissen möchte, ist:
auf welchem ListViewItem wurden die Daten abgelegt?
Ich komme einfach nicht dahinter, wie ich herausfinden kann, auf welchem Item (View = LargeIcon) der Benutzer die Dateien abgelegt hat.
Das ist für mich aber wichtig, weil je nachdem, auf welchem Item der Nutzer die Daten ablegt, diese vom Programm intern anders gehandhabt werden.
Mein bisheriges Gerüst:
VB.NET-Quellcode
- Private Sub categoryView_DragOver(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles categoryView.DragOver
- ' DRAG OVER EVENT
- ' Set Effect to 'Copy'
- Dim DragTo = TryCast(e.Data, DataObject)
- If DragTo IsNot Nothing AndAlso DragTo.ContainsFileDropList Then
- e.Effect = DragDropEffects.Copy
- End If
- End Sub
- Private Sub categoryView_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles categoryView.DragDrop
- Dim DragTo = TryCast(e.Data, DataObject)
- Dim currentItem As ListViewItem
- ' Determine, which ListViewItem was the target:
- ' ???
- currentItem = _________________()?
- ' ???
- ' Add Data to the corresponding data structure:
- pList.Item(currentItem.Text).AddRange(DragTo.GetFildDropList.Cast(Of STring).ToList())
- End Sub
Danke.