title: C# ListView DragDrop Event Method Executing Twice Per Drop
body: <p>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).</p>
  
  <pre><code>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();
      }
  }
  </code></pre>