C# 2008 System Windows Forms の LargeIcon View に ListView があります。ここで、この ListView の項目を同じ ListView 内の別の位置に移動したいと思います。これを「ドラッグ アンド ドロップ」または「項目の並べ替え」などと呼びましょう。VB 6 はこれに対応しており、任意の listView でこれを自動的に行います。
C# にはこの機能がないようであるか、最初にコーディングする必要がありました。これをコーディングするのは経験がなく、インターネットでの調査で答えが見つかりませんでした。機能しない「オーバーライド手順」のみが見つかりました。
他の ListView コントロール (ObjectListView など) は必要ありません。また、プロシージャをオーバーライドしたり、新しい ListView コントロールを作成したりする必要もありません。そのままMicrosoftから提供されたListViewコントロール内で扱いたい。これに関する任意のアイデア。コードは非常に高く評価されます。非常に単純なワンライナーでない限り、自分でそれを行うことはできないと思います。
PS: アイテムを移動する必要がある場合は、アイテムのすべてのプロパティ (テキスト、タグ、イメージキー、背景色、前景色、名前、ツールヒントテキストなど) を移動する必要があります。どうすればこれを達成できるかわかりません。私が見つけたこれに関する1つのヒント:アイテムを削除する(.Remove()と呼ばれる)および.Insert ( )と呼ばれる挿入が存在します。しかし、この情報では、マウスで項目を「移動」することはまだできません。listView のすべてのDragEventsがここで役割を果たすと思いますが、それらを使用する方法と、選択した項目 ( listView1.SelectedItems ) を正しい位置にコピーする方法と、最初にこの位置を取得する必要がある方法がわかりません。