GiveFeedbackEventArgs.UseDefaultCursors Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает, должна ли операция перетаскивания использовать курсоры по умолчанию, связанные с эффектами перетаскивания.
public:
property bool UseDefaultCursors { bool get(); void set(bool value); };
public bool UseDefaultCursors { get; set; }
member this.UseDefaultCursors : bool with get, set
Public Property UseDefaultCursors As Boolean
Значение свойства
true
, если используются указатели по умолчанию; в противном случае false
.
Примеры
В следующем примере демонстрируется операция перетаскивания между двумя элементами управления 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задано значение DragDropEffects.None. Наконец, состояние удаления отображается в DropLocationLabel
Label.
Данные, которые нужно удалить для правой ListBox
, определяются в обработчике событий DragDrop, а значение String
добавляется в соответствующее место в ListBox
. Если операция перетаскивания перемещается за пределы формы, операция перетаскивания отменяется в обработчике событий QueryContinueDrag.
Этот фрагмент кода демонстрирует использование класса GiveFeedbackEventArgs. См. метод 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
Комментарии
Система предоставляет курсоры перетаскивания по умолчанию для различных операций перетаскивания, таких как перемещение или копирование. Если для UseDefaultCursors задано значение false
, это ответственность за источник событий для задания соответствующего курсора.