Windows Form 中的拖放功能
Windows Form 包含一組實作拖放行為的方法、事件和類別。 本主題提供 Windows Form 中的拖放功能支援概觀。 另請參閱拖放作業和剪貼簿支援。
執行拖放作業
若要執行拖放作業時,請使用 Control 類別的 DoDragDrop 方法。 如需如何執行拖放作業的詳細資訊,請參閱 DoDragDrop。 若要取得必須在開始拖放作業前先將滑鼠指標拖曳到其上的矩形,請使用 SystemInformation 類別的 DragSize 屬性。
與拖放作業相關的事件
拖放作業包含兩類事件:拖放作業的目前目標所發生的事件,以及拖放作業的來源所發生的事件。
目前目標所發生的事件
下表顯示拖放作業的目前目標所發生的事件。
滑鼠事件 | 描述 |
---|---|
DragEnter | 這個事件會在將物件拖曳至控制項的界限內時發生。 這個事件的處理常式會接收 DragEventArgs 類型的引數。 |
DragOver | 這個事件會在滑鼠指標位於控制項界限內的情況下拖曳物件時發生。 這個事件的處理常式會接收 DragEventArgs 類型的引數。 |
DragDrop | 這個事件會在拖放作業完成時發生。 這個事件的處理常式會接收 DragEventArgs 類型的引數。 |
DragLeave | 這個事件會在將物件拖曳出控制項的界限時發生。 這個事件的處理常式會接收 DragEventArgs 類型的引數。 |
DragEventArgs 類別提供滑鼠指標的位置、滑鼠按鈕和鍵盤輔助按鍵的目前狀態、正在拖曳的資料,以及可指定拖曳事件來源所允許的作業和作業的目標置放效果的 DragDropEffects 值。
來源所發生的事件
下表顯示拖放作業的來源所發生的事件。
滑鼠事件 | 描述 |
---|---|
GiveFeedback | 這個事件會在拖曳作業期間發生。 它提供了一個可對正在發生拖放作業的使用者顯示視覺提示的機會,例如變更滑鼠指標。 這個事件的處理常式會接收 DragEventArgs 類型的引數。 |
QueryContinueDrag | 這個事件會在拖放作業期間引發,讓拖曳來源能夠決定是否應取消拖放作業。 這個事件的處理常式會接收 DragEventArgs 類型的引數。 |
QueryContinueDragEventArgs 類別提供滑鼠按鈕和鍵盤輔助按鍵的目前狀態、指定是否已按下 ESC 鍵的值,以及可設定以指定是否應該繼續拖放作業的 DragAction 值。