GiveFeedbackEventArgs 类

定义

提供在拖动操作期间发生的事件的数据 GiveFeedback

public ref class GiveFeedbackEventArgs : EventArgs
[System.Runtime.InteropServices.ComVisible(true)]
public class GiveFeedbackEventArgs : EventArgs
public class GiveFeedbackEventArgs : EventArgs
[<System.Runtime.InteropServices.ComVisible(true)>]
type GiveFeedbackEventArgs = class
    inherit EventArgs
type GiveFeedbackEventArgs = class
    inherit EventArgs
Public Class GiveFeedbackEventArgs
Inherits EventArgs
继承
GiveFeedbackEventArgs
属性

示例

以下示例演示两 ListBox 个控件之间的拖放操作。 该示例在拖动操作启动时调用 DoDragDrop 该方法。 如果鼠标在事件发生期间SystemInformation.DragSize已从鼠标位置移动超过MouseDown鼠标位置,则拖动操作将开始。 该方法 IndexFromPoint 用于确定在事件期间 MouseDown 要拖动的项的索引。

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

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

要为右侧 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

注解

GiveFeedback 拖动操作期间发生该事件。 它允许拖动事件的源修改鼠标指针的外观,以便在拖放操作期间为用户提供视觉反馈。 对象 GiveFeedbackEventArgs 指定拖放操作的类型以及是否使用默认游标。

有关事件模型的信息,请参阅 处理和引发事件

构造函数

名称 说明
GiveFeedbackEventArgs(DragDropEffects, Boolean, Bitmap, Point, Boolean)

初始化 GiveFeedbackEventArgs 类的新实例。

GiveFeedbackEventArgs(DragDropEffects, Boolean)

初始化 GiveFeedbackEventArgs 类的新实例。

属性

名称 说明
CursorOffset

获取或设置拖动图像光标偏移量。

DragImage

获取或设置拖动图像位图。

Effect

获取显示的拖放操作反馈。

UseDefaultCursors

获取或设置拖动操作是否应使用与拖放效果关联的默认光标。

UseDefaultDragImage

获取或设置一个值,该值指示是否使用分层窗口拖动图像。

方法

名称 说明
Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
ToString()

返回一个表示当前对象的字符串。

(继承自 Object)

适用于