Sto cercando di fornire agli utenti la possibilità di trascinare i file da griglie e altri controlli nella mia applicazione in Explorer da &. Eventuali buoni campioni/articoli per quello?Trascinamento dall'applicazione .NET all'esploratore
risposta
è piuttosto straight-forward, basta chiamare DoDragDrop in un evento MouseDown. Avrai bisogno di file reali su disco affinché funzioni.
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);
}
Questo metodo funziona perfettamente, tranne che interferisce con altri eventi come l'elemento doppio clic e fai clic e trascina per selezionare più volte. C'è un modo per risolvere questo? – Stoopkid
Certo, usa invece l'evento MouseMove e non avviare il trascinamento finché non si sposta abbastanza lontano. Non l'argomento di questa domanda. –
Qui è un'applicazione di esempio, ma non in grado di gestire file di grandi dimensioni: Transferring Virtual Files to Windows Explorer in C#
Ecco alcune informazioni da Microsoft forum http://social.msdn.microsoft.com/forums/en-US/winforms/thread/f57ffd5d-0fe3-4f64-bfd6-428f58998603/. Ho trovato un sacco di articoli pertinenti [cercando con il titolo di questo post] (http://www.bing.com/search?q=Drag+Drop+from+.NET+application+to+Explorer&go=&form=QBLH&filt= all & qs = n & sk =) – btlog