Windows Form 中的拖放功能

Windows Form 包括一系列實作拖放行為的方法、事件和類別。 這個主題提供 Windows Form 中拖放支援的概觀。 如需詳細資訊,請參閱拖放作業和剪貼簿支援拖放作業和剪貼簿支援拖放作業和剪貼簿支援拖放作業和剪貼簿支援.

執行拖放作業

若要執行拖放作業,請使用 Control 類別的 DoDragDrop 方法。 如需如何執行拖放作業的詳細資訊,請參閱 DoDragDrop。 若要取得必須在開始拖放作業前先將滑鼠指標拖曳到其上的矩形,請使用 SystemInformation 類別的 DragSize 屬性。

與拖放作業相關的事件

拖放作業中共有兩大事件分類:拖放作業目前目標所發生的事件以及拖放作業來源所發生的事件。

目前目標所發生的事件

下表顯示拖放作業目前目標所發生的事件。

滑鼠事件

描述

DragEnter

當物件被拖曳入控制項界限內時發生這個事件。 這個事件的處理常式會接收 DragEventArgs 類型的引數。

DragOver

當在滑鼠指標位於控制項界限內的情況下拖曳物件時發生這個事件。 這個事件的處理常式會接收 DragEventArgs 類型的引數。

DragDrop

當拖放作業完成時發生這個事件。 這個事件的處理常式會接收 DragEventArgs 類型的引數。

DragLeave

當物件被拖曳出控制項界限之外時發生這個事件。 這個事件的處理常式會接收 EventArgs 類型的引數。

DragEventArgs 類別提供滑鼠指標位置、滑鼠按鈕和鍵盤輔助按鍵的目前狀態、正在拖曳的資料以及 DragDropEffects 值,該值指定拖曳事件來源所允許的作業和作業的目標置放效果。

來源所發生的事件

下表顯示拖放作業來源所發生的事件。

滑鼠事件

描述

GiveFeedback

這個事件發生於拖曳作業期間。 它提供了一個可對正在發生拖放作業的使用者顯示視覺提示的機會,例如變更滑鼠指標。 這個事件的處理常式會接收 GiveFeedbackEventArgs 類型的引數。

QueryContinueDrag

這個事件是在拖曳作業期間引發,它可讓拖曳來源判斷是否應該取消拖放作業。 這個事件的處理常式會接收 QueryContinueDragEventArgs 類型的引數。

QueryContinueDragEventArgs 類別提供滑鼠按鈕和鍵盤輔助按鍵的目前狀態、指定是否已按下 ESC 鍵的值以及 DragAction 值,該值可設為指定是否應該繼續拖放作業。

請參閱

其他資源

Windows Form 應用程式中的滑鼠輸入