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 
특성

예제

다음 코드 예제에서는 변환 하는 방법을 보여 줍니다.는 X 하 고 Y 속성을 클라이언트 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.

경우 값 DragAction 됩니다 Continue, DragOver 이벤트는 작업을 계속 하려면 및 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.

  • 경우 값 DragAction 됩니다 CancelDragLeave 이벤트가 발생 합니다.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.

적용 대상