GiveFeedbackEventHandler Делегат
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет метод, обрабатывающий событие GiveFeedbackControl.
public delegate void GiveFeedbackEventHandler(System::Object ^ sender, GiveFeedbackEventArgs ^ e);
public delegate void GiveFeedbackEventHandler(object sender, GiveFeedbackEventArgs e);
public delegate void GiveFeedbackEventHandler(object? sender, GiveFeedbackEventArgs e);
type GiveFeedbackEventHandler = delegate of obj * GiveFeedbackEventArgs -> unit
Public Delegate Sub GiveFeedbackEventHandler(sender As Object, e As GiveFeedbackEventArgs)
Параметры
- sender
- Object
Источник события.
Объект GiveFeedbackEventArgs, содержащий данные события.
Примеры
В следующем примере показана операция перетаскивания между двумя ListBox элементами управления. В примере вызывается метод при DoDragDrop запуске действия перетаскивания. Действие перетаскивания начинается, если мышь переместилась больше, чем SystemInformation.DragSize из расположения мыши во время MouseDown события. Метод IndexFromPoint используется для определения индекса элемента, который необходимо перетащить во время MouseDown
события.
В примере также показано использование пользовательских курсоров для операции перетаскивания. В примере предполагается, что в каталоге приложения существуют два файла курсоров, 3dwarro.cur
и 3dwno.cur
, для настраиваемых курсоров перетаскивания и курсоров без перетаскивания соответственно. Пользовательские курсоры будут использоваться, если UseCustomCursorsCheck
CheckBox установлен флажок . Пользовательские курсоры задаются в обработчике GiveFeedback событий.
Состояние клавиатуры вычисляется в обработчике DragOver событий для правого ListBox
, чтобы определить, какая операция перетаскивания будет зависеть от состояния клавиш SHIFT, CTRL, ALT или CTRL+ALT. Расположение в объекте ListBox
, где будет происходить удаление, также определяется во время DragOver
события. Если данные, которые нужно удалить, не String
являются , то DragEventArgs.Effect параметру присваивается значение DragDropEffects.None. Наконец, состояние удаления отображается в DropLocationLabel
Label.
Данные для удаления справа ListBox
определяются в обработчике DragDrop событий, а String
значение добавляется в соответствующее место в ListBox
. Если операция перетаскивания перемещается за пределы формы, то операция перетаскивания отменяется в обработчике QueryContinueDrag событий.
В этом фрагменте кода демонстрируется использование делегата GiveFeedbackEventHandler с событием GiveFeedback . Полный DoDragDrop пример кода см. в методе .
void ListDragSource_GiveFeedback( Object^ /*sender*/, System::Windows::Forms::GiveFeedbackEventArgs^ e )
{
// Use custom cursors if the check box is checked.
if ( UseCustomCursorsCheck->Checked )
{
// Sets the custom cursor based upon the effect.
e->UseDefaultCursors = false;
if ( (e->Effect & DragDropEffects::Move) == DragDropEffects::Move )
::Cursor::Current = MyNormalCursor;
else
::Cursor::Current = MyNoDropCursor;
}
}
private void ListDragSource_GiveFeedback(object sender, GiveFeedbackEventArgs e)
{
// Use custom cursors if the check box is checked.
if (UseCustomCursorsCheck.Checked)
{
// Sets the custom cursor based upon the effect.
e.UseDefaultCursors = false;
if ((e.Effect & DragDropEffects.Move) == DragDropEffects.Move)
Cursor.Current = MyNormalCursor;
else
Cursor.Current = MyNoDropCursor;
}
}
Private Sub ListDragSource_GiveFeedback(ByVal sender As Object, ByVal e As GiveFeedbackEventArgs) Handles ListDragSource.GiveFeedback
' Use custom cursors if the check box is checked.
If (UseCustomCursorsCheck.Checked) Then
' Set the custom cursor based upon the effect.
e.UseDefaultCursors = False
If ((e.Effect And DragDropEffects.Move) = DragDropEffects.Move) Then
Cursor.Current = MyNormalCursor
Else
Cursor.Current = MyNoDropCursor
End If
End If
End Sub
Комментарии
При создании делегата GiveFeedbackEventHandler необходимо указать метод, обрабатывающий событие. Чтобы связать событие с обработчиком событий, нужно добавить в событие экземпляр делегата. Обработчик событий вызывается всякий раз, когда происходит событие, если делегат не удален. Дополнительные сведения об обработке событий с помощью делегатов см. в разделе Обработка и вызов событий.
Методы расширения
GetMethodInfo(Delegate) |
Получает объект, представляющий метод, представленный указанным делегатом. |
Применяется к
См. также раздел
Обратная связь
Отправить и просмотреть отзыв по