MyListView fixes

This commit is contained in:
Jaex 2014-04-13 20:15:33 +03:00
parent 479369dd21
commit 623c98a6bd

View file

@ -130,7 +130,7 @@ protected override void OnItemDrag(ItemDragEventArgs e)
if (AllowDrop && e.Button == MouseButtons.Left)
{
DoDragDrop((ListViewItem)e.Item, DragDropEffects.Move);
DoDragDrop(e.Item, DragDropEffects.Move);
}
}
@ -138,6 +138,10 @@ protected override void OnDragOver(DragEventArgs drgevent)
{
base.OnDragOver(drgevent);
ListViewItem lvi = drgevent.Data.GetData(typeof(ListViewItem)) as ListViewItem;
if (lvi != null && lvi.ListView == this)
{
drgevent.Effect = DragDropEffects.Move;
Point cp = PointToClient(new Point(drgevent.X, drgevent.Y));
@ -151,6 +155,7 @@ protected override void OnDragOver(DragEventArgs drgevent)
lastLineIndex = lineIndex;
}
}
protected override void OnDragDrop(DragEventArgs drgevent)
{
@ -158,7 +163,7 @@ protected override void OnDragDrop(DragEventArgs drgevent)
ListViewItem lvi = drgevent.Data.GetData(typeof(ListViewItem)) as ListViewItem;
if (lvi != null)
if (lvi != null && lvi.ListView == this)
{
ListViewItem insertItem = (ListViewItem)lvi.Clone();
Items.Insert(dragOverItem != null ? dragOverItem.Index : Items.Count, insertItem);