共用方式為


Control.DragLeave 事件

定義

發生於物件拖出控件界限時。

public:
 event EventHandler ^ DragLeave;
public event EventHandler DragLeave;
public event EventHandler? DragLeave;
member this.DragLeave : EventHandler 
Public Custom Event DragLeave As EventHandler 

事件類型

範例

以下程式碼範例展示了兩個 ListBox 控制項間的拖放操作。 範例中當拖曳動作開始時呼叫該 DoDragDrop 方法。 拖曳動作會開始,前提是滑鼠在事件中MouseDown移動SystemInformation.DragSize超過滑鼠位置。 此 IndexFromPoint 方法用於判定事件中 MouseDown 要拖曳項目的索引。

此範例也會示範如何針對拖放作業使用自定義數據指標。 此範例要求應用程式目錄中存在兩個游標檔案, 3dwarro.cur3dwno.cur分別用於自訂拖曳游標和不可放下游標。 如果 UseCustomCursorsCheckCheckBox 被勾選,就會使用自訂游標。 自訂游標則在事件處理程序中 GiveFeedback 設定。

鍵盤狀態會在事件處理程序中評估 DragOver 右鍵 ListBox,根據 SHIFT、CTRL、ALT 或 CTRL+ALT 鍵的狀態來決定拖曳操作。 ListBox掉落地點也會在事件中DragOver決定。 若要丟棄的資料不是 String,則 DragEventArgs.Effect 在 中 被設定為 NoneDragDropEffects。 最後,掉落狀態會顯示在 DropLocationLabelLabel

右側要丟棄 ListBox 的資料由事件處理程序決定 DragDrop ,並將 String 值加入適當位置 ListBox。 如果拖曳操作超出表單範圍,則拖放操作會在事件處理程序中被 QueryContinueDrag 取消。

這段程式碼摘錄展示了使用該 DragLeave 事件的過程。 完整程式碼範例請參見方法。DoDragDrop

void ListDragTarget_DragLeave( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
  // Reset the label text.
   DropLocationLabel->Text = "None";
}
private void ListDragTarget_DragLeave(object sender, EventArgs e)
{
    // Reset the label text.
    DropLocationLabel.Text = "None";
}
Private Sub ListDragTarget_DragLeave(ByVal sender As Object, ByVal e As EventArgs) Handles ListDragTarget.DragLeave
    ' Reset the label text.
    DropLocationLabel.Text = "None"
End Sub

備註

當使用者將游標拖出控制項或取消當前拖放操作時,事件 DragLeave 會被觸發。

下列說明如何和何時引發與拖放作業相關的事件。

此方法決定 DoDragDrop 在當前游標位置下的控制。 然後它會檢查控件是否為有效的置放目標。

若控制點為有效的投放目標, GiveFeedback 事件會觸發並指定拖放效果。 拖放效果列表請參見 DragDropEffects 列舉。

追蹤滑鼠游標位置、鍵盤狀態和滑鼠按鈕狀態的變更。

  • 如果使用者移出視窗, DragLeave 事件就會被觸發。

  • 若滑鼠進入另一個控制項,該控制項的 會 DragEnter 提高。

  • 如果滑鼠移動但仍停留在同一控制範圍內, DragOver 事件會被觸發。

若鍵盤或滑鼠按鈕狀態有變化,QueryContinueDrag事件會被觸發,並根據事件QueryContinueDragEventArgs屬性的值Action決定是否繼續拖曳、資料下放或取消操作。

  • DragAction 值為 ContinueDragOver 則事件會被觸發以繼續操作,並 GiveFeedback 以新效果觸發事件,以便設定適當的視覺回饋。 有關有效落差效應的列表,請參閱列舉。DragDropEffects

    注意

    DragOverGiveFeedback事件會配對,當滑鼠移動到落點時,使用者會獲得最多 up-to-日期的滑鼠位置回饋。

  • 若 的值 DragActionDrop,則 drop effect 值會回傳給來源資料,因此來源應用程式可以對來源資料執行適當的操作;例如,如果操作是移動,則會切割資料。

  • 若 值 DragActionCancelDragLeave 則事件會被觸發。

如需處理事件的詳細資訊,請參閱 處理和引發事件

適用於

另請參閱