private void lvApps_MouseDown(object sender, MouseEventArgs e) { if (e.Button != MouseButtons.Left) { return; } dragItem = lvApps.GetItemAt(e.X, e.Y); if (dragItem == null) { return; } dragItemOrigin = new Point(e.X - dragItem.Position.X, e.Y - dragItem.Position.Y); lvApps.AutoArrange = false; lvApps.MouseMove += lvApps_MouseMove; dragSnap = ListViewItemSnap.Start(lvApps); }