Share via


Windows フォームにおけるドラッグ アンド ドロップ機能

Windows フォームには、ドラッグ アンド ドロップの動作を実装する一連のメソッド、イベント、およびクラスが含まれています。 このトピックでは、Windows フォームでのドラッグ アンド ドロップのサポートの概要について説明します。 「ドラッグ アンド ドロップ操作とクリップボードのサポート」も参照してください。

ドラッグ アンド ドロップ操作の実行

ドラッグ アンド ドロップ操作を実行するには、Control クラスの DoDragDrop メソッドを使用します。 ドラッグ アンド ドロップ操作の実行方法の詳細については、「DoDragDrop」を参照してください。 ドラッグ アンド ドロップ操作が開始される前に、マウス ポインターがドラッグされる四角形を取得するには、SystemInformation クラスの DragSize プロパティを使用します。

ドラッグ アンド ドロップ操作のイベントには、ドラッグ アンド ドロップ操作の現在のターゲットで発生するイベントと、ドラッグ アンド ドロップ操作のソースで発生するイベントの 2 つのカテゴリがあります。

現在のターゲットでのイベント

次の表は、ドラッグ アンド ドロップ操作の現在のターゲットで発生するイベントを示します。

マウス イベント 説明
DragEnter このイベントは、オブジェクトがコントロールの境界内にドラッグされると発生します。 このイベントのハンドラーは、型 DragEventArgs の引数を受け取ります。
DragOver このイベントは、マウス ポインターがコントロールの境界内にある間にオブジェクトがドラッグされるときに発生します。 このイベントのハンドラーは、型 DragEventArgs の引数を受け取ります。
DragDrop このイベントは、ドラッグ アンド ドロップ操作が完了したときに発生します。 このイベントのハンドラーは、型 DragEventArgs の引数を受け取ります。
DragLeave このイベントは、オブジェクトがコントロールの境界外にドラッグされたときに発生します。 このイベントのハンドラーは、型 EventArgs の引数を受け取ります。

DragEventArgs クラスは、マウスのポインターの場所、マウス ボタンとキーボードの修飾子キーの現在の状態、ドラッグされているデータ、およびドラッグ イベントのソースによって許可される操作と操作に対するターゲットのドロップの効果を指定する DragDropEffects の値を提供します。

ソースのイベント

次の表は、ドラッグ アンド ドロップ操作のソースで発生するイベントを示します。

マウス イベント 説明
GiveFeedback このイベントは、ドラッグ操作中に発生します。 マウス ポインターを変更するなど、ドラッグ アンド ドロップ操作が実行されていることを示す視覚上の手掛かりをユーザーに示す機会を提供します。 このイベントのハンドラーは、型 GiveFeedbackEventArgs の引数を受け取ります。
QueryContinueDrag このイベントは、ドラッグ アンド ドロップ操作中に発生し、ドラッグ ソースがドラッグ アンド ドロップ操作をキャンセルする必要があるかどうかを決定できるようにします。 このイベントのハンドラーは、型 QueryContinueDragEventArgs の引数を受け取ります。

QueryContinueDragEventArgs クラスは、マウス ボタンとキーボードの修飾子キーの現在の状態、ESC キーを押したかどうかを指定する値、およびドラッグ アンド ドロップ操作を続行するかどうかを指定するために設定できる DragAction の値を提供します。

関連項目