private void listView1_ItemDrag(object sender, ItemDragEventArgs e)
{
listView1.DoDragDrop(e.Item,DragDropEffects.Move);
} private void listView1_DragEnter(object sender, DragEventArgs e)
{
e.Effect=e.AllowedEffect;
} private void listView1_DragOver(object sender, DragEventArgs e)
{
//Point p=listView1.PointToClient(new Point(e.X,e.Y)); //int targetIndex=listView1.InsertionMark.NearestIndex(p);
//MessageBox.Show(targetIndex.ToString());
//if (targetIndex > -1)
//{
// Rectangle ItemBouds = listView1.GetItemRect(targetIndex);
// if (p.X > ItemBouds.Left+(ItemBouds.Width/2))
// {
// listView1.InsertionMark.AppearsAfterItem = true;
// }
// else
// {
// listView1.InsertionMark.AppearsAfterItem = false;
// }
//}
} private void listView1_DragDrop(object sender, DragEventArgs e)
{
int DRIndex=listView1.InsertionMark.Index;
MessageBox.Show(DRIndex.ToString());
if(DRIndex==-1)
{
return;
} if(listView1.InsertionMark.AppearsAfterItem)
{
DRIndex++;
} ListViewItem dragItem = (ListViewItem)e.Data.GetData(typeof(ListViewItem));
listView1.Items.Insert(DRIndex,(ListViewItem)dragItem.Clone());
listView1.Items.Remove(dragItem);
}为什么吗 每次拖动的数据都到了第一条记录 而不是我拖到的位置
{
listView1.DoDragDrop(e.Item,DragDropEffects.Move);
} private void listView1_DragEnter(object sender, DragEventArgs e)
{
e.Effect=e.AllowedEffect;
} private void listView1_DragOver(object sender, DragEventArgs e)
{
//Point p=listView1.PointToClient(new Point(e.X,e.Y)); //int targetIndex=listView1.InsertionMark.NearestIndex(p);
//MessageBox.Show(targetIndex.ToString());
//if (targetIndex > -1)
//{
// Rectangle ItemBouds = listView1.GetItemRect(targetIndex);
// if (p.X > ItemBouds.Left+(ItemBouds.Width/2))
// {
// listView1.InsertionMark.AppearsAfterItem = true;
// }
// else
// {
// listView1.InsertionMark.AppearsAfterItem = false;
// }
//}
} private void listView1_DragDrop(object sender, DragEventArgs e)
{
int DRIndex=listView1.InsertionMark.Index;
MessageBox.Show(DRIndex.ToString());
if(DRIndex==-1)
{
return;
} if(listView1.InsertionMark.AppearsAfterItem)
{
DRIndex++;
} ListViewItem dragItem = (ListViewItem)e.Data.GetData(typeof(ListViewItem));
listView1.Items.Insert(DRIndex,(ListViewItem)dragItem.Clone());
listView1.Items.Remove(dragItem);
}为什么吗 每次拖动的数据都到了第一条记录 而不是我拖到的位置
int DRIndex = listView1.GetItemAt(point.X, point.Y).Index;
int DRIndex = listView1.GetItemAt(point.X, point.Y).Index;
private void lvwOriginal_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e)
{
if(this.lvwOriginal.SelectedItems.Count>0)
{
this.lvwOriginal.DoDragDrop(s.ToString(),DragDropEffects.All|DragDropEffects.Move);
}
else
{
return;
}
}