Поделиться через


ToolStripItem.DragLeave Событие

Определение

Происходит, когда пользователь перетаскивает элемент и указатель мыши больше не находится в клиентской области данного элемента.

public:
 event EventHandler ^ DragLeave;
[System.ComponentModel.Browsable(false)]
public event EventHandler DragLeave;
[System.ComponentModel.Browsable(false)]
public event EventHandler? DragLeave;
[<System.ComponentModel.Browsable(false)>]
member this.DragLeave : EventHandler 
Public Custom Event DragLeave As EventHandler 

Тип события

Атрибуты

Примеры

В следующем примере кода показано использование этого элемента. В этом примере обработчик событий сообщает о возникновении DragLeave события. Этот отчет поможет вам узнать, когда происходит событие, и может помочь в отладке. Чтобы сообщить о нескольких событиях или о событиях, которые происходят часто, рекомендуется заменить MessageBox.ShowConsole.WriteLine сообщение на или добавить его в многостроочный TextBox.

Чтобы выполнить пример кода, вставьте его в проект, содержащий экземпляр типа, наследуемого от ToolStripItem, например ToolStripButton или ToolStripMenuItem. Затем присвойте экземпляру ToolStripItem1 имя и убедитесь, что обработчик событий связан с событием DragLeave .

private void ToolStripItem1_DragLeave(Object sender, EventArgs e) {

   MessageBox.Show("You are in the ToolStripItem.DragLeave event.");
}
Private Sub ToolStripItem1_DragLeave(sender as Object, e as EventArgs) _ 
     Handles ToolStripItem1.DragLeave

   MessageBox.Show("You are in the ToolStripItem.DragLeave event.")

End Sub

Комментарии

Событие DragLeave возникает, когда пользователь перетаскивает курсор из элемента управления или пользователь отменяет текущую операцию перетаскивания.

В следующих примечаниях описывается, как и когда возникают события, связанные с операциями перетаскивания.

Метод DoDragDrop определяет элемент в текущем расположении курсора. Затем проверяется, является ли элемент допустимым целевым объектом удаления.

Если элемент является допустимым объектом перетаскивания, GiveFeedback событие вызывается с указанным эффектом перетаскивания. Список эффектов перетаскивания см. в перечислении DragDropEffects.

Изменения положения курсора мыши, состояния клавиатуры и состояния кнопки мыши отслеживаются следующим образом:

  • Если пользователь перемещает указатель мыши за пределы окна, происходит событие DragLeave.

  • Если мышь введет другой элемент, DragEnter для этого элемента управления возникает .

  • Если мышь перемещается, но остается в пределах одного элемента, DragOver возникает событие .

При изменении состояния клавиатуры или кнопки мыши возникает событие, QueryContinueDrag которое определяет, следует ли продолжить перетаскивание, удалить данные или отменить операцию на основе значения Action свойства события QueryContinueDragEventArgs.

Если значение DragAction равно Continue, DragOver событие вызывается для продолжения операции, и GiveFeedback событие вызывается с новым эффектом, чтобы можно было задать соответствующую визуальную обратную связь. Список допустимых эффектов сброса см. в перечислении DragDropEffects.

События DragOver и GiveFeedback связаны таким образом, что при перемещении мыши по целевому объекту перетаскивания пользователю предоставляется наиболее актуальная обратная связь о положении мыши, как показано ниже.

  • Если значение DragAction равно Drop, значение эффекта удаления возвращается в источник, чтобы исходное приложение смогла выполнить соответствующую операцию с исходными данными, например, вырезать данные, если операция была перемещением.

  • Если значение DragAction равно Cancel, DragLeave вызывается событие .

Применяется к