private void listView1_ItemDrag(object sender, ItemDragEventArgs e)
{
listView1.DoDragDrop(listView1.SelectedItems, DragDropEffects.Move);
}
private void listView1_DragDrop(object sender, DragEventArgs e)
{
//判断是否选择拖放的项,
if (listView1.SelectedItems.Count == 0)
{
return;
}
//定义项的坐标点
Point cp = listView1.PointToClient(new Point(e.X, e.Y));//
ListViewItem dragToItem = listView1.GetItemAt(cp.X, cp.Y);
if (dragToItem == null)
{
return;
}
int dragIndex = dragToItem.Index;
ListViewItem[] sel = new ListViewItem[listView1.SelectedItems.Count];
for (int i = 0; i <= listView1.SelectedItems.Count - 1; i++)
{
sel = listView1.SelectedItems;
}
for (int i = 0; i < sel.GetLength(0); i++)
{
ListViewItem dragItem = sel;
int itemIndex = dragIndex;
if (itemIndex == dragItem.Index)
{
return;
}
if (dragItem.Index < itemIndex)
itemIndex++;
else
itemIndex = dragIndex + i;
ListViewItem insertItem = (ListViewItem)dragItem.Clone();
listView1.Items.Insert(itemIndex, insertItem);
listView1.Items.Remove(dragItem);
}
}
private void listView1_DragEnter(object sender, DragEventArgs e)
{
for (int i = 0; i <= e.Data.GetFormats().Length - 1; i++)
{
if (e.Data.GetFormats().Equals("System.Windows.Forms.ListView+SelectedListViewItemCollection"))
{
e.Effect = DragDropEffects.Move;
}
}
}
{
listView1.DoDragDrop(listView1.SelectedItems, DragDropEffects.Move);
}
private void listView1_DragDrop(object sender, DragEventArgs e)
{
//判断是否选择拖放的项,
if (listView1.SelectedItems.Count == 0)
{
return;
}
//定义项的坐标点
Point cp = listView1.PointToClient(new Point(e.X, e.Y));//
ListViewItem dragToItem = listView1.GetItemAt(cp.X, cp.Y);
if (dragToItem == null)
{
return;
}
int dragIndex = dragToItem.Index;
ListViewItem[] sel = new ListViewItem[listView1.SelectedItems.Count];
for (int i = 0; i <= listView1.SelectedItems.Count - 1; i++)
{
sel = listView1.SelectedItems;
}
for (int i = 0; i < sel.GetLength(0); i++)
{
ListViewItem dragItem = sel;
int itemIndex = dragIndex;
if (itemIndex == dragItem.Index)
{
return;
}
if (dragItem.Index < itemIndex)
itemIndex++;
else
itemIndex = dragIndex + i;
ListViewItem insertItem = (ListViewItem)dragItem.Clone();
listView1.Items.Insert(itemIndex, insertItem);
listView1.Items.Remove(dragItem);
}
}
private void listView1_DragEnter(object sender, DragEventArgs e)
{
for (int i = 0; i <= e.Data.GetFormats().Length - 1; i++)
{
if (e.Data.GetFormats().Equals("System.Windows.Forms.ListView+SelectedListViewItemCollection"))
{
e.Effect = DragDropEffects.Move;
}
}
}