Drag and Drop

09/04/2008 - 12:06 von Franz Rosenfellner | Report spam
Hallo Leute!
Ich habe in einer ListView Dateinamen stehen. Im Endeffekt möchte ich eine
Datei mit dem Namen auf die Position kopieren, wo mit der Maus hinzeigt
(Desktop oder Ordner am Arbeitsplatz). Die Idee wàre, mit drag and drop den
Namen auf die Umgebung zu ziehen und danach die Datei auf die gezeigte
Position zu kopieren. Dazu brauche ich aber die Position wo die Maus hinzeigt
was ich aber bisher noch nicht geschafft habe.
Wer kann mir helfen?
Danke!
F. Rosenfellner
 

Lesen sie die antworten

#1 Achim Bohmann
10/04/2008 - 20:37 | Warnen spam
Hi!

Der Ansatz ist meiner Meinung nach in die falsche Richtung. Du kopierst
nicht eine Datei da hin, wo die Maus hinzeigt, sondern für D&D stellst
du die Informationen zur Verfügung, welche Datei beim Loslassen der Maus
vom Ziel abgeholt wird.

Also Beispiel: In deiner Liste steht, unter anderem, MyFile.txt, und das
liegt in "D:\MyPath\MySubPath\MyData\"
Nun musst du im "ItemDrag" von der ListView folgendes machen:

private void lvMyFiles_ItemDrag( object sender, ItemDragEventArgs e ) {
List<String> files = new List<String>();
AddAllMyFilesWIthPathToTheList();
// ein Eintrag ist nun D:\MyPath\MySubPath\MyData\MyFile.txt

DoDragDrop( new DataObject( DataFormats.FileDrop, files.ToArray() ),
DragDropEffects.Copy | DragDropEffects.Move );
}

Wenn Du die Maus über dem Desktop wieder loslàßt, dann "holt" sich der
Explorer die Dateien ab.

Für Mehr Infos zu D&D melde dich nochmal.


Viele Grüße,
Achim


Franz Rosenfellner wrote:
Hallo Leute!
Ich habe in einer ListView Dateinamen stehen. Im Endeffekt möchte ich eine
Datei mit dem Namen auf die Position kopieren, wo mit der Maus hinzeigt
(Desktop oder Ordner am Arbeitsplatz). Die Idee wàre, mit drag and drop den
Namen auf die Umgebung zu ziehen und danach die Datei auf die gezeigte
Position zu kopieren. Dazu brauche ich aber die Position wo die Maus hinzeigt
was ich aber bisher noch nicht geschafft habe.
Wer kann mir helfen?
Danke!
F. Rosenfellner

Ähnliche fragen