2010-08-03 9 views
8

Szukam użytkownikom możliwości przeciągania plików z siatki i innych elementów sterujących w mojej aplikacji do Eksploratora. Jakieś dobre próbki/artykuły do ​​tego?Przeciągnij Drop z aplikacji .NET do Explorera

+0

Oto kilka informacji od Microsoft forach http://social.msdn.microsoft.com/forums/en-US/winforms/thread/f57ffd5d-0fe3-4f64-bfd6-428f58998603/. Znalazłem kilka trafnych artykułów [wyszukiwanie z tytułem tego wpisu] (http://www.bing.com/search?q=Drag+Drop+z++.NET+aplikacji+do+Explorer&go=&form=QBLH&filt= all & qs = n & sk =) – btlog

Odpowiedz

7

Jest to dość prosta, wystarczy zadzwonić DoDragDrop w imprezie MouseDown. Aby to działało, potrzebujesz prawdziwych plików na dysku.

private void Form1_MouseDown(object sender, MouseEventArgs e) { 
    string[] files = new string[] { @"c:\temp\test.txt" }; 
    this.DoDragDrop(new DataObject(DataFormats.FileDrop, files), DragDropEffects.Copy); 
} 
+0

Ta metoda działa idealnie, ale przeszkadza innym zdarzeniom, takim jak element podwójnego kliknięcia, a następnie kliknij i przeciągnij, aby wybrać wiele elementów. Czy istnieje sposób na rozwiązanie tego problemu? – Stoopkid

+2

Oczywiście, należy użyć zdarzenia MouseMove zamiast tego i nie uruchamiać przeciągania, dopóki nie przesunęło się wystarczająco daleko. Nie temat tego pytania. –

Powiązane problemy