Drag and drop

di Anonimizzato13031 il
22 risposte
Ciao

Sto cercando di usare il drag and drop in una applicazione C# WPF, vorrei trascinare dei file su un riquadro poi il programma provvede ad archiviarli in una cartella speciale. Ho provato un po di esempi ma nessuno funziona, potete darmi una mano?

22 Risposte

  • Ciao bartig,

    Et voilà:
    
    private void panel1_PreviewDragEnter(object sender, DragEventArgs e)
    {
        if ((e.Data is DataObject) && ((DataObject)e.Data).ContainsFileDropList())
            e.Effects = DragDropEffects.Copy;
        else
            e.Effects = DragDropEffects.None;
    }
    
    private void panel1_PreviewDragOver(object sender, DragEventArgs e)
    {
        e.Handled = true;
    }
    
    private void panel1_Drop(object sender, DragEventArgs e)
    {
        if (e.Data is DataObject)
        {
            DataObject data = (DataObject)e.Data;
            if (data.ContainsFileDropList())
            {
                foreach (string filePath in data.GetFileDropList())
                     ..fai quello che ti pare col file in 'filePath';
            }
        }
    }
    
    Ricorda di mettere a true la property AllowDrop del controllo che riceve il drop.
  • Incredibile, che velocità! Ora lo provo e poi ti faccio sapere. Intanto grazie.
  • In effetti ti ho risposto in 9 minuti netti.
    Il fatto è che ho una mia libreria di esempi gia fatti per uso personale.
  • Pure io ho le mie librerie ma non sono così veloce a trovare le cose.
  • È perché le tengo in un database
  • Questa non l' ho capita. Comunque tornando al drag and stop l' esempio funziona! Non settavo AllowDrop. Ma non mi è chiaro PreviewDragEnter.
  • PreviewDragEnter non è molto importante, si occupa di mostrare l' icona giusta quando il mouse è sull' area di drop.
  • Ok, ti ringrazio. Adesso me la spieghi la faccenda delle librerie nel database?
  • È una storia lunga.
    Tu piuttosto dimmi un po, ho visto nella tua presentazione che sei esperto di sistemi real time, conosci QNX?
  • Si
  • Allora magari puoi essermi utile. Sai come si fa ad ottenere il Mac Address? Ho degli esempi che vanno in Linux ma in QNX no.
  • Penso di si, però mi devi dare il tempo di cercarlo ...
  • Stupendo! Allora apro un altro thread.
  • Su Qnx ti ho risposto.
    Ora volevo chiederti come devo fare se invece di trascinare file faccio invece partire il drag da un controllo tipo listbox.
Devi accedere o registrarti per scrivere nel forum
22 risposte