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


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, например, или ToolStripButtonToolStripMenuItem. Затем присвойте экземпляру 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.

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

События DragOverGiveFeedback связаны таким образом, чтобы при перемещении мыши по целевому объекту удаления пользователь получил наиболее up-to-date отзыв о положении мыши следующим образом:

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

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

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