ToolStripItem.GiveFeedback Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Происходит во время операции перетаскивания.
public:
event System::Windows::Forms::GiveFeedbackEventHandler ^ GiveFeedback;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.GiveFeedbackEventHandler GiveFeedback;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.GiveFeedbackEventHandler? GiveFeedback;
[<System.ComponentModel.Browsable(false)>]
member this.GiveFeedback : System.Windows.Forms.GiveFeedbackEventHandler
Public Custom Event GiveFeedback As GiveFeedbackEventHandler
Тип события
- Атрибуты
Примеры
В следующем примере кода демонстрируется использование этого элемента. В этом примере обработчик событий сообщает о возникновении GiveFeedback события. Этот отчет поможет вам узнать, когда происходит событие, и помочь вам в отладке. Чтобы сообщить о нескольких событиях или событиях, которые происходят часто, рекомендуется заменить MessageBox.ShowConsole.WriteLine или добавить сообщение в многостроочное TextBox.
Чтобы запустить пример кода, вставьте его в проект, содержащий экземпляр типа, наследуемого от ToolStripItem, например, или ToolStripButtonToolStripMenuItem. Затем присвойте экземпляру ToolStripItem1 имя и убедитесь, что обработчик событий связан с событием GiveFeedback .
private void ToolStripItem1_GiveFeedback(Object sender, GiveFeedbackEventArgs e) {
System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "Effect", e.Effect );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "UseDefaultCursors", e.UseDefaultCursors );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "GiveFeedback Event" );
}
Private Sub ToolStripItem1_GiveFeedback(sender as Object, e as GiveFeedbackEventArgs) _
Handles ToolStripItem1.GiveFeedback
Dim messageBoxVB as New System.Text.StringBuilder()
messageBoxVB.AppendFormat("{0} = {1}", "Effect", e.Effect)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "UseDefaultCursors", e.UseDefaultCursors)
messageBoxVB.AppendLine()
MessageBox.Show(messageBoxVB.ToString(),"GiveFeedback Event")
End Sub
Комментарии
Событие GiveFeedback возникает при запуске операции перетаскивания. Событие GiveFeedback позволяет источнику события перетаскивания изменить внешний вид указателя мыши, чтобы дать пользователю визуальный отзыв во время операции перетаскивания.
В следующих замечаниях описывается, как возникают события, связанные с операциями перетаскивания.
Метод DoDragDrop определяет элемент в текущем расположении курсора. Затем он проверяет, является ли элемент допустимым целевым объектом удаления.
Если элемент является допустимым целевым объектом удаления, GiveFeedback событие вызывается с заданным эффектом перетаскивания. Список эффектов перетаскивания см. в DragDropEffects перечислении.
Изменения положения курсора мыши, состояния клавиатуры и состояния кнопки мыши отслеживаются следующим образом:
Если пользователь выходит из окна, DragLeave событие вызывается.
Если мышь вводит другой элемент, DragEnter вызывается элемент управления.
Если мышь перемещается, но остается в одном элементе, DragOver вызывается событие.
При изменении состояния QueryContinueDrag клавиатуры или кнопки мыши событие вызывается и определяет, следует ли продолжать перетаскивание данных или отменять операцию на основе значения Action свойства события QueryContinueDragEventArgs.
Если значение DragActionContinueравно, DragOver событие вызывается для продолжения операции, и GiveFeedback событие вызывается с новым эффектом, чтобы можно было задать соответствующую визуальную обратную связь. Список допустимых эффектов удаления см. в DragDropEffects перечислении.
События DragOverGiveFeedback связаны таким образом, чтобы при перемещении мыши по целевому объекту удаления пользователь получил наиболее up-to-date отзыв о положении мыши следующим образом:
Если значение DragActionDropравно, значение эффекта удаления возвращается источнику, поэтому исходное приложение может выполнять соответствующую операцию с исходными данными, например, вырезать данные, если операция была перемещением.
Если значение DragAction равно Cancel, DragLeave событие вызывается.