2011-12-18 18 views
17

Come posso caricare i file in un modulo trascinandoli?C# trascina e rilascia i file per formare

Quale evento apparirà?

Quale componente dovrei usare?

E come determinare il nome del file e altre proprietà dopo averlo trascinato e rilasciato in un modulo?

Grazie!

Codice

private void panel1_DragEnter(object sender, DragEventsArgs e){ 
     if (e.Data.GetDataPresent(DataFormats.Text)){ 
       e.Effect = DragDropEffects.Move; 
       MessageBox.Show(e.Data.GetData(DataFormats.Text).toString()); 
     } 
     if (e.Data.GetDataPresent(DataFormats.FileDrop)){ 

     } 
    } 

ok, questo funziona.

E i file? Come posso ottenere il nome file e l'estensione?

e questa è solo un'azione dragEnter.

+0

I vari eventi correlati al trascinamento vengono gestiti insieme in modo coordinato. Hai letto la documentazione pertinente? –

+1

possibile duplicato di [Come trascino i file in un'applicazione # #?] (Http://stackoverflow.com/questions/68598/how-do-i-drag-and-drop-files-into-ac-sharp -application) –

risposta

29

Questo codice scorrere e stampare i nomi completi (incluse le estensioni) di tutti i file trascinati nella finestra:

if (e.Data.GetDataPresent(DataFormats.FileDrop)) 
{ 
     string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); 
     foreach (string filePath in files) 
     { 
      Console.WriteLine(filePath); 
     } 
} 
5

Controllare sul link qui sotto per maggiori informazioni

http://doitdotnet.wordpress.com/2011/12/18/drag-and-drop-files-into-winforms/

private void Form2_DragDrop(object sender, DragEventArgs e) { 
    if (e.Data.GetDataPresent(DataFormats.FileDrop)) { 
    string[] filePaths = (string[])(e.Data.GetData(DataFormats.FileDrop)); 
    foreach (string fileLoc in filePaths) { 
     // Code to read the contents of the text file 
     if (File.Exists(fileLoc)) { 
     using (TextReader tr = new StreamReader(fileLoc)) { 
      MessageBox.Show(tr.ReadToEnd()); 
     } 
     } 
    } 
    } 
} 

Grazie.

+1

Per una risposta di qualità è necessario un riepilogo del contenuto del collegamento. E fai attenzione a postare link al tuo blog: assomiglia moltissimo allo spam. –

+0

ok grazie Cody Grey. Seguirà i tuoi commenti – doit4dotnet

Problemi correlati