private void listViewEx1_ItemDrag(object sender, ItemDragEventArgs e)
        {
            if (!string.Equals(DB2Config.GetInstance().GetSetting("NoDrag"), "True", StringComparison.OrdinalIgnoreCase) && e.Button == MouseButtons.Left)
            {
                Application.DoEvents();

                VirtualListView ListViewEx = (VirtualListView)sender;
                ListViewItem    item       = (ListViewItem)e.Item;//listViewEx1.GetItemAt(e.X, e.Y);
                if (item == null)
                {
                    return;
                }

                if (item.Selected == false)
                {
                    item.Selected = true;
                    listViewEx1.Update();
                }

                DragCard dragcard = new DragCard();
                int      id       = int.Parse(item.SubItems[8].Text);
                dragcard.Card       = CardLibrary.GetInstance().GetCardByID(id);
                dragcard.FromObject = ListViewEx;
                ListViewEx.DoDragDrop(dragcard, DragDropEffects.Copy);
            }
        }
 private void listViewEx1_DragEnter(object sender, DragEventArgs e)
 {
     if (e.Data.GetDataPresent(DataFormats.FileDrop))
     {
         e.Effect = DragDropEffects.Copy;
     }
     else if (e.Data.GetDataPresent("DeckBuilder2.DragCard"))
     {
         DragCard dragcard = (DragCard)e.Data.GetData("DeckBuilder2.DragCard");
         if (dragcard.FromObject == sender)
         {
             e.Effect = DragDropEffects.None;
         }
         else
         {
             if (dragcard.RemoveFrom == DeckType.None)
             {
                 e.Effect = DragDropEffects.Copy | DragDropEffects.Move;
             }
             else
             {
                 e.Effect = DragDropEffects.Move;
             }
         }
     }
 }
 private void listViewEx1_DragDrop(object sender, DragEventArgs e)
 {
     if (e.Data.GetDataPresent("DeckBuilder2.DragCard"))
     {
         DragCard dragcard = (DragCard)e.Data.GetData("DeckBuilder2.DragCard");
         Global.frmDeckEditHolder.DoDragDrop(dragcard, DeckType.None);
     }
 }
 private void listViewEx1_DragDrop(object sender, DragEventArgs e)
 {
     if (e.Data.GetDataPresent(DataFormats.FileDrop))
     {
         String filename = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
         Global.frmDeckEditHolder.LoadDeckByDrag(filename);
     }
     else if (e.Data.GetDataPresent("DeckBuilder2.DragCard"))
     {
         DragCard dragcard = (DragCard)e.Data.GetData("DeckBuilder2.DragCard");
         Global.frmDeckEditHolder.DoDragDrop(dragcard, DeckType.None);
     }
 }