The method executes twice in a row and there's no apparent reason for doing so.It happens in VS2010 Express (4.0) and in VS2008 (3.5).
public GUI(){ InitializeComponent(); this.lvwFiles.DragDrop += new System.Windows.Forms.DragEventHandler(this.lvwFiles_DragDrop); this.lvwFiles.DragEnter += new System.Windows.Forms.DragEventHandler(this.lvwFiles_DragEnter);} private void lvwFilesAdd(string path, string[] paths){ ... } private void lvwFilesWrite(){ ... } private void lvwFiles_DragEnter(object sender, DragEventArgs e){ if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy; else e.Effect = DragDropEffects.None;} private void lvwFiles_DragDrop(object sender, DragEventArgs e){ if (e.Data.GetDataPresent(DataFormats.FileDrop)) { var paths = (string[])e.Data.GetData(DataFormats.FileDrop); var path = Path.GetDirectoryName(paths[0]); lvwFilesAdd(path, paths); lvwFilesWrite(); }}