プロが教える店舗&オフィスのセキュリティ対策術

VB.NETについて質問です。
ListViewでドラッグ&ドロップするコーディングをしているのですが、
外からListViewへのドラッグ&ドロップ(データ取り込み)、ListViewから外へのドラッグ&ドロップ(データ出力)、ListView内でのドラッグ&ドロップ(アイテム並べ替え)を区別する方法を教えて下さい。

A 回答 (1件)

質問を読んで思いついたレベルで書きます。



ドラッグの開始が自分のアプリか外部のアプリか、はMouseDownでフラグ立てるようにすれば分かります。
出力or移動の場合はおそらくMouseDownでDoDragDropを呼び出しているはずなので…。

ListViewのDragOver/DragDropでは、そのフラグで判断すれば外部からの取り込みか移動かの判断はつきます。
あるいは、ドラッグ開始時に独自のデータ型を含めることができれば、フラグなしでも判別できるでしょう。

問題は出力と移動の判別ですが、ドラッグの完了がコントロール内なら移動、コントロール外なら出力として判断する方法があります。
ただ、移動のドラッグ中はリアルタイムにリストを変動させる場合は厄介ですが・・・。

(思いついただけでコード検証はしていません)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!