ToolStripItem.DragEnter ToolStripItem.DragEnter ToolStripItem.DragEnter ToolStripItem.DragEnter Event

定義

この項目のクライアント領域に対し、ユーザーが項目をドラッグしたときに発生します。Occurs when the user drags an item into the client area of this item.

public:
 event System::Windows::Forms::DragEventHandler ^ DragEnter;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.DragEventHandler DragEnter;
member this.DragEnter : System.Windows.Forms.DragEventHandler 
Public Custom Event DragEnter As DragEventHandler 
属性

次のコード例は、変換する方法を示します、XYプロパティをクライアントにPointします。The following code example shows how to convert the X and Y properties to a client Point. このコード例が示されている例の一部、ToolStripRendererクラス。This code example is part of a larger example provided for the ToolStripRenderer class.

// This method defines the DragOver event behavior. 
protected override void OnDragOver(DragEventArgs dea)
{
    base.OnDragOver(dea);

    // Get the ToolStripButton control 
    // at the given mouse position.
    Point p = new Point(dea.X, dea.Y);
    ToolStripButton item = this.GetItemAt(
        this.PointToClient(p)) as ToolStripButton;

    // If the ToolStripButton control is the empty cell,
    // indicate that the move operation is valid.
    if( item == this.emptyCellButton )
    {
        // Set the drag operation to indicate a valid move.
        dea.Effect = DragDropEffects.Move;
    }
}
' This method defines the DragOver event behavior. 
Protected Overrides Sub OnDragOver(dea As DragEventArgs)
   MyBase.OnDragOver(dea)
   
   ' Get the ToolStripButton control 
   ' at the given mouse position.
   Dim p As New Point(dea.X, dea.Y)
   Dim item As ToolStripButton = CType(Me.GetItemAt(Me.PointToClient(p)), ToolStripButton)
   
   
   ' If the ToolStripButton control is the empty cell,
   ' indicate that the move operation is valid.
     If item Is Me.emptyCellButton Then
         ' Set the drag operation to indicate a valid move.
         dea.Effect = DragDropEffects.Move
     End If
 End Sub

注釈

DragEnterユーザー最初がドラッグしたとき、マウス カーソルをアイテムの上をドラッグ アンド ドロップ操作中にイベントが発生します。The DragEnter event is raised when the user first drags the mouse cursor over the item during a drag-and-drop operation.

次の「解説」では、ドラッグ アンド ドロップ操作に関連するイベントが発生した方法とタイミングについて説明します。The following remarks describe how and when events related to drag-and-drop operations are raised.

DoDragDropメソッドは、現在のカーソル位置の下にある項目を決定します。The DoDragDrop method determines the item under the current cursor location. 項目が有効なドロップ先であるかどうかを確認します。It then checks to see if the item is a valid drop target.

アイテムが、有効なドロップ ターゲットである場合、GiveFeedbackドラッグ アンド ドロップの効果が指定されたイベントが発生します。If the item is a valid drop target, the GiveFeedback event is raised with the drag-and-drop effect specified. ドラッグ アンド ドロップ効果の一覧については、DragDropEffects 列挙体を参照してください。For a list of drag-and-drop effects, see the DragDropEffects enumeration.

次のようにマウス カーソルの位置、キーボードの状態、およびマウス ボタンの状態の変更が追跡されます。Changes in the mouse cursor position, keyboard state, and mouse button state are tracked in the following manner:

  • ユーザーがウィンドウの外に移動した場合、DragLeave イベントが生成されます。If the user moves out of a window, the DragLeave event is raised.

  • マウスが別の項目を入力した場合、DragEnterのそのコントロールが発生します。If the mouse enters another item, the DragEnter for that control is raised.

  • マウスが移動しても、同じ項目内にとどめる場合、DragOverイベントが発生します。If the mouse moves but stays within the same item, the DragOver event is raised.

キーボードまたはマウス ボタンの状態に変更がある場合、QueryContinueDragの値に基づいて、操作をキャンセルするイベントが発生し、データをドロップして、ドラッグを継続するかどうかを決定します。 または、ActionイベントのプロパティQueryContinueDragEventArgsします。If there is a change in the keyboard or mouse button state, the QueryContinueDrag event is raised and determines whether to continue the drag, to drop the data, or to cancel the operation based on the value of the Action property of the event's QueryContinueDragEventArgs.

場合の値DragActionContinueDragOverイベントは、操作を続行して、GiveFeedback適切な視覚的なフィードバックを設定できるように新しい効果でイベントが発生します。If the value of DragAction is Continue, the DragOver event is raised to continue the operation and the GiveFeedback event is raised with the new effect so appropriate visual feedback can be set. 有効なドロップ効果の一覧については、DragDropEffects 列挙体を参照してください。For a list of valid drop effects, see the DragDropEffects enumeration.

DragOverGiveFeedbackこれにより、ドロップ先の間でマウスを移動、ユーザーが指定された最新のフィードバックでマウスの位置では、次のようにイベントがペアになっています。The DragOver and GiveFeedback events are paired so that as the mouse moves across the drop target, the user is given the most up-to-date feedback on the mouse's position, as follows:

  • 場合の値DragActionDropソース アプリケーションでは、ソース データに対して適切な操作を実行できるように、データの切り取り、移動、操作だった場合、ドロップ効果の値がソースに返されます。If the value of DragAction is Drop, the drop effect value is returned to the source, so the source application can perform the appropriate operation on the source data; for example, cut the data if the operation was a move.

  • 場合の値DragActionCancelDragLeaveイベントが発生します。If the value of DragAction is Cancel, the DragLeave event is raised.

注意

XYのプロパティ、DragEventArgsは、画面座標をクライアント座標ではありません。The X and Y properties of the DragEventArgs are in screen coordinates, not client coordinates.

イベントの処理の詳細については、「処理とイベントの発生」を参照してください。For more information about handling events, see Handling and Raising Events.

適用対象