2024年5月11日发(作者:)
winFormListView控件内部拖动排序
private void listView1_ItemDrag(object sender, ItemDragEventArgs e)
{
Drop(edItems, );
}
private void listView1_DragDrop(object sender, DragEventArgs e)
{
//判断是否选择拖放的项,
if ( == 0)
{
return;
}
//定义项的坐标点
Point cp = oClient(new Point(e.X, e.Y));//
ListViewItem dragToItem = mAt(cp.X, cp.Y);
if (dragToItem == null)
{
return;
}
int dragIndex = ;
ListViewItem[] sel = new ListViewItem[];
for (int i = 0; i <= - 1; i++)
{
sel = edItems;
}
for (int i = 0; i < gth(0); i++)
{
ListViewItem dragItem = sel;
int itemIndex = dragIndex;
if (itemIndex == )
{
return;
}
if ( < itemIndex)
itemIndex++;
else
itemIndex = dragIndex + i;
ListViewItem insertItem = (ListViewItem)();
(itemIndex, insertItem);
(dragItem);
}
}
private void listView1_DragEnter(object sender, DragEventArgs e)
{
for (int i = 0; i <= mats().Length - 1; i++)
{
if (mats().Equals("ew+SelectedListViewItemCollection"))
{
= ;
}
}
}
发布评论