728x90
ListView 아이템을 마우스로 끌어서 이동하는 예제입니다.
한 줄 전체를 그리고 여러 셀을 선택하여 이동할수 있습니다.
private void listView1_MouseMove(object sender, MouseEventArgs e)
{
if(e.Button == MouseButtons.Left)
{
this.Cursor = Cursors.SizeAll;
}
}
private void listView1_MouseUp(object sender, MouseEventArgs e)
{
bool bSamePosition = false;
this.Cursor = Cursors.Arrow;
ListViewItem selected = this.listView1.GetItemAt(e.X, e.Y);
if(null != selected)
{
foreach (ListViewItem l in listView1.SelectedItems)
{
if (l.Index == selected.Index)
{
bSamePosition = true;
break;
}
}
if(!bSamePosition)
{
List<ListViewItem> sl = new List<ListViewItem>();
foreach (ListViewItem l in listView1.SelectedItems)
{
sl.Add(l);
l.Remove();
listView1.Items.Insert(selected.Index, l);
}
}
}
}
전체소스