リストビュー項目をドラッグ&ドロップで並べ替えするには?

解決


ジュークボックス  2008-01-04 10:02:53  No: 144233

VB2005,XP環境です。
リストビュー(.View=Details)の項目をドラッグ&ドロップ操作で並び替えたいと考えています。
最後尾の項目として追加することは他サイトを見てできましたが、
ドロップ位置へ挿入するための処理がわかりません。
どなたか、アドバイスよろしくお願いします。


特攻隊長まるるう  2008-01-04 19:38:36  No: 144234

DragDrop イベントで取得できる(x,y)座標で HitTest メソッドを実行してみては?


ジュークボックス  2008-01-06 19:09:57  No: 144235

特攻隊長まるるうさんありがとうございます。
ただ、HitTestメソッドを利用してもうまく目的の値が得られません。

Dim info As ListViewHitTestInfo = ListView1.HitTest(e.X, e.Y)

MouseDownイベント内で利用するとうまく動作するのですが、
DragDropイベントではSystem.NullReferenceException例外が発生します。

取得される(x,y)座標が明らかに違うことまではわかっていますが、
どう計算したらよいのか少しアドバイスをください。
よろしくお願いします。


ジュークボックス  2008-01-08 17:48:27  No: 144236

すいません。
ヘルプにしっかり載っていました(^^;。
ありがとうございましたm(__)m。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加