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
Odpowiedz
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);
}
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
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. –
Oto przykładowa aplikacja, ale nie może obsługiwać duże pliki: Transferring Virtual Files to Windows Explorer in C#
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