C#.net ListView item 拖动排序实现方法
时间: 2024-01-11 08:02:36 浏览: 29
C#.net中实现ListView item拖动排序的方法如下:
1. 添加MouseDown、MouseMove、MouseUp事件的处理方法。
2. 在MouseDown事件中获取鼠标点击的item,并将其标记为拖动状态。
3. 在MouseMove事件中,如果鼠标处于拖动状态,则将item拖动到鼠标所在的位置。
4. 在MouseUp事件中,结束拖动状态,并重新排序ListView中的item。
以下是示例代码:
```c#
private ListViewItem draggingItem = null;
private void listView1_MouseDown(object sender, MouseEventArgs e)
{
draggingItem = listView1.GetItemAt(e.X, e.Y);
}
private void listView1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left && draggingItem != null)
{
draggingItem.Position = new Point(e.X, e.Y);
}
}
private void listView1_MouseUp(object sender, MouseEventArgs e)
{
if (draggingItem != null)
{
draggingItem.Selected = true;
draggingItem = null;
listView1.Sort();
}
}
```
在以上代码中,listView1是要实现拖动排序的ListView控件。当鼠标按下时,获取鼠标点击的item并标记为拖动状态;当鼠标移动时,如果处于拖动状态,则将item拖动到鼠标所在位置;当鼠标抬起时,结束拖动状态并重新排序ListView中的item。