ListView で複数の項目を再配置できるようにする方法がわかりません。これは私が1つのアイテムを処理する方法です:
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
(andWindowsForms10PersistentObject
ですが、それが何であるかはわかりません)。
SelectedListViewItemCollection
、ListViewItemCollection
、さらには が含まれていると思っていましたListViewItem[]
が、どれも機能しませんでした。
では、選択したアイテムの 1 つだけでなく、すべてのアイテムを取得するにはどうすればよいでしょうか?