我不知道如何允许在 ListView 中重新排列多个项目。这就是我处理一件物品的方式:
protected override void OnDragDrop(DragEventArgs drgevent)
{
//get target index and other things
if (drgevent.Data.GetDataPresent(typeof(ListViewItem)))
{
ListViewItem draggedItem = (ListViewItem)drgevent.Data.GetData(typeof(ListViewItem));
int origIndex = draggedItem.Index;
if (origIndex != targetIndex)
{
var e = new RearrangeItemEventArgs(origIndex, targetIndex);
OnRearrangeItem(e);
}
}
}
但即使启用后MultiSelect
,drgevent.Data
仍然只包含ListViewItem
(和WindowsForms10PersistentObject
,但我不知道那是什么)。
我希望它包含SelectedListViewItemCollection
, ListViewItemCollection
, 甚至ListViewItem[]
, 但它们都不起作用。
那么我如何获得所有选定的项目,而不仅仅是其中一个?