다음을 통해 공유


ToolStripItem.DragOver 이벤트

정의

사용자가 이 항목의 클라이언트 영역 위로 항목을 끌 때 발생합니다.

public:
 event System::Windows::Forms::DragEventHandler ^ DragOver;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.DragEventHandler DragOver;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.DragEventHandler? DragOver;
[<System.ComponentModel.Browsable(false)>]
member this.DragOver : System.Windows.Forms.DragEventHandler 
Public Custom Event DragOver As DragEventHandler 

이벤트 유형

특성

예제

다음 코드 예제에서는이 멤버를 사용 하는 방법을 보여 줍니다. 예제에서는 이벤트 처리기에서 보고서를 DragOver 이벤트입니다. 이 보고서를 통해 이벤트 발생 하 고 도움이 될 수 있습니다 디버깅 하는 경우를 학습할 수 있습니다. 자주 발생 하는 이벤트 또는 여러 이벤트를 보고 하려면 바꾸는 것이 좋습니다 MessageBox.Show 사용 하 여 Console.WriteLine 줄에 메시지를 추가 또는 TextBox합니다.

예제 코드를 실행 하려면에서 상속 되는 형식의 인스턴스를 포함 하는 프로젝트에 붙여넣습니다 ToolStripItem와 같은 ToolStripButton 또는 ToolStripMenuItem합니다. 다음 인스턴스 이름을 ToolStripItem1 이벤트 처리기를 연결 된 확인 된 DragOver 이벤트입니다.

private void ToolStripItem1_DragOver(Object sender, DragEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "Data", e.Data );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "KeyState", e.KeyState );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "X", e.X );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Y", e.Y );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "AllowedEffect", e.AllowedEffect );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Effect", e.Effect );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "DragOver Event" );
}
Private Sub ToolStripItem1_DragOver(sender as Object, e as DragEventArgs) _ 
     Handles ToolStripItem1.DragOver

    Dim messageBoxVB as New System.Text.StringBuilder()
    messageBoxVB.AppendFormat("{0} = {1}", "Data", e.Data)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "KeyState", e.KeyState)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "X", e.X)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Y", e.Y)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "AllowedEffect", e.AllowedEffect)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Effect", e.Effect)
    messageBoxVB.AppendLine()
    MessageBox.Show(messageBoxVB.ToString(),"DragOver Event")

End Sub

설명

DragOver 이벤트는 끌어서 놓기 작업 중 컨트롤의 범위 내에서 마우스 커서를 이동 하면 발생 합니다.

다음 설명에서는 끌어서 놓기 작업과 관련된 이벤트가 발생하는 방법과 시기에 대해 설명합니다.

메서드는 DoDragDrop 현재 커서 위치 아래의 항목을 결정합니다. 그런 다음 항목이 유효한 놓기 대상인지 확인합니다.

항목이 유효한 놓기 대상인 GiveFeedback 경우 끌어서 놓기 효과가 지정된 상태에서 이벤트가 발생합니다. 끌어서 놓기 작업 결과 목록에 대한 자세한 내용은 DragDropEffects 열거형을 참조하십시오.

마우스 커서 위치, 키보드 상태 및 마우스 단추 상태의 변경 내용은 다음과 같은 방식으로 추적됩니다.

  • 사용자가 창의 외부로 이동하면 DragLeave 이벤트가 발생합니다.

  • 마우스가 다른 항목 DragEnter 에 들어가면 해당 컨트롤의 가 발생합니다.

  • 마우스가 이동하지만 동일한 항목 DragOver 내에 유지되면 이벤트가 발생합니다.

키보드 또는 마우스 단추 상태가 QueryContinueDrag 변경되면 이벤트가 발생하고 끌기를 계속할지, 데이터를 삭제할지 또는 이벤트의 QueryContinueDragEventArgs속성 값 Action 에 따라 작업을 취소할지 결정합니다.

DragActionContinueDragOver 이면 작업을 계속 GiveFeedback 하기 위해 이벤트가 발생하고 이벤트가 새 효과와 함께 발생하므로 적절한 시각적 피드백을 설정할 수 있습니다. 유효한 끌어서 놓기 작업 결과 목록에 대한 자세한 내용은 DragDropEffects 열거형을 참조하십시오.

DragOverGiveFeedback 이벤트는 마우스가 놓기 대상을 가로질러 이동할 때 다음과 같이 마우스 위치에 대한 최신 피드백을 받도록 페어링됩니다.

  • 경우 값 DragActionDrop놓기 결과 값이 소스로 반환은, 원본 애플리케이션은 원본 데이터에 대해 적절 한 작업을 수행할 수 있도록 예의 경우 데이터 잘라내기 작업이 이동 합니다.

  • DragActionCancelDragLeave 이 이면 이벤트가 발생합니다.

적용 대상