10 juin 2007
7
10
/06
/juin
/2007
15:49
Drag and Drop depuis l’explorateur de fichiers Windows vers son application
2 méthodes qui pourront être appelées par n’importe quel control depuis leurs évènements DragEnter et DragDrop
public string[] DropFiles; private void GetDropFiles(DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { DropFiles = (string[])e.Data.GetData(DataFormats.FileDrop); e.Effect = System.Windows.Forms.DragDropEffects.Move; } } private string GetDropFile(int Index) { string DropFile = string.Empty; if (DropFiles.Length == 0 || DropFiles.Length - 1 < Index) { } else DropFile = DropFiles[Index]; return DropFile; } |
Exemple d’utilisation avec une treeview (de la même manière cela pourrait être une listbox ou même la form en elle – même)
> ne pas oublier de mettre la propriété AllowDrop à true pour le control recevant le drag drop
private void treeView1_DragEnter(object sender, DragEventArgs e) { GetDropFiles(e); } private void treeView1_DragDrop(object sender, DragEventArgs e) { try { string DropFile = GetDropFile(0); if (!string.IsNullOrEmpty(DropFile)) LoadFromFile.BeginInvoke(DropFile, null, null); } catch { } } |