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 方法。 如果鼠标在 MouseDown 事件期间从鼠标位置移动了超过 SystemInformation.DragSize,则拖动操作将启动。 IndexFromPoint 方法用于确定在 MouseDown 事件期间要拖动的项的索引。

该示例还演示如何对拖放操作使用自定义游标。 该示例假定两个游标文件(3dwarro.cur3dwno.cur)分别存在于应用程序目录中,分别用于自定义拖放游标。 如果选中 UseCustomCursorsCheckCheckBox,将使用自定义游标。 自定义游标在 GiveFeedback 事件处理程序中设置。

键盘状态在右侧 ListBoxDragOver 事件处理程序中进行评估,以确定拖动操作将基于 SHIFT、Ctrl、Alt 或 Ctrl+Alt 键的状态。 在 DragOver 事件期间,也会确定 ListBox 发生放置的位置。 如果要删除的数据不是 String,则 DragEventArgs.Effect 设置为 DragDropEffects.None。 最后,删除状态显示在 DropLocationLabelLabel中。

要删除的右 ListBox 的数据在 DragDrop 事件处理程序中确定,并在 ListBox的适当位置添加 String 值。 如果拖动操作在窗体边界之外移动,则拖放操作在 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,则事件源负责设置适当的游标。

适用于