0

わかりました。ここで、ドラッグ アンド ドロップ機能に初めて挑戦します。マウス ダウンを処理し、ソース管理から DoDragDrop を呼び出しました。

私が達成しようとしているのは、アカウントをある MDI 子から別の子にコピー/移動することです。私の文脈では、ソース管理に戻ることはまったく意味がありません。

現在の効果に関する情報を提供するドラッグ エンターを見ています。

次のようなものが欲しいです。

If(eventData.Source != accountList)
{
    eventData.Effect = DragDropEffects.Copy;
}

ただし、データのソース管理を決定する方法が見つからないようです。私が考えられる唯一のことは、カスタムクラスを作成し、ソース管理が埋め込まれたデータにそれを渡すことでしたか、それとも明らかな何かが欠けていますか?

4

2 に答える 2

1

これはWPFですか?OriginalSourceそうである場合は、DoDragDrop メソッドを呼び出すときに渡すソースにマップする必要があるため、メソッドに渡されるイベントのプロパティを利用できます。

Windows フォームを使用している場合、操作を開始するときに独自のソースを渡すことができないため、IDataObject作成した にカスタム データを追加し、それに基づいてソースを決定することをお勧めします。

私の意見では、ドラッグアンドドロップの使用例は正気ではありません。アプリケーションで開始した場合と同じ DragEnter と他のすべてのメソッドを受け取るため、外部アプリケーションからドラッグが開始されるケースも必ずカバーしてください。

于 2013-02-03T17:45:56.740 に答える