私の問題は、ListView でドラッグ アンド ドロップを処理することです。
したがって、選択した ListViewItem を取得します。
ListView.SelectedListViewItemCollection itemCollection = (ListView.SelectedListViewItemCollection)e.Data.GetData("System.Windows.Forms.ListView+SelectedListViewItemCollection");
ドラッグ アンド ドロップ (たとえば、Windows エクスプローラーから) を介して新しい要素を移動すると、リストビューでアイテムを選択しないため、itemCollection は null に等しくなります。
private void DragDropHandler(object sender, DragEventArgs e)
{
ListView.SelectedListViewItemCollection itemCollection = (ListView.SelectedListViewItemCollection)e.Data.GetData("System.Windows.Forms.ListView+SelectedListViewItemCollection");
if (itemCollection == null)
{
itemCollection = (ListView.SelectedListViewItemCollection)e.Data.GetData("System.Windows.Forms.ListView");
}
}
この場合、リストビューの最後の要素を取得しますが、どうすればよいですか?