2010-08-03 6 views
8

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

+0

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

risposta

7

è 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); 
} 
+0

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

+2

Certo, usa invece l'evento MouseMove e non avviare il trascinamento finché non si sposta abbastanza lontano. Non l'argomento di questa domanda. –

Problemi correlati