GiveFeedbackEventArgs 类

定义

GiveFeedback 事件提供数据,该事件在拖动操作期间发生。Provides data for the GiveFeedback event, which occurs during a drag operation.

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

示例

下面的示例演示两个控件之间的拖放操作 ListBoxThe following example demonstrates a drag-and-drop operation between two ListBox controls. 该示例在 DoDragDrop 拖动操作开始时调用方法。The example calls the DoDragDrop method when the drag action starts. 如果在事件过程中鼠标移动了多个鼠标位置,则拖动操作将启动 SystemInformation.DragSize MouseDownThe drag action starts if the mouse has moved more than SystemInformation.DragSize from the mouse location during the MouseDown event. IndexFromPoint方法用于确定事件期间要拖动的项的索引 MouseDownThe IndexFromPoint method is used to determine the index of the item to drag during the MouseDown event.

该示例还演示了如何对拖放操作使用自定义光标。The example also demonstrates using custom cursors for the drag-and-drop operation. 该示例假定应用程序目录中有两个光标文件, 3dwarro.cur 3dwno.cur 分别用于自定义的拖放游标和非删除光标。The example assumes that two cursor files, 3dwarro.cur and 3dwno.cur, exist in the application directory, for the custom drag and no-drop cursors, respectively. 如果选中,则将使用自定义光标 UseCustomCursorsCheck CheckBoxThe custom cursors will be used if the UseCustomCursorsCheckCheckBox is checked. 自定义游标是在 GiveFeedback 事件处理程序中设置的。The custom cursors are set in the GiveFeedback event handler.

键盘状态在 DragOver 右侧的事件处理程序中进行计算 ListBox ,以根据 SHIFT、CTRL、ALT 或 CTRL + ALT 键确定拖动操作的状态。The keyboard state is evaluated in the DragOver event handler for the right ListBox, to determine what the drag operation will be based upon state of the SHIFT, CTRL, ALT, or CTRL+ALT keys. ListBox 事件期间也会确定放置过程中的位置 DragOverThe location in the ListBox where the drop would occur is also determined during the DragOver event. 如果要删除的数据不是,则将 String DragEventArgs.Effect 设置为 DragDropEffects.NoneIf the data to drop is not a String, then the DragEventArgs.Effect is set to DragDropEffects.None. 最后,放置的状态显示在中 DropLocationLabel LabelFinally, the status of the drop is displayed in the DropLocationLabelLabel.

要放置给权限的数据 ListBoxDragDrop 事件处理程序中确定,并将 String 值添加到中的适当位置 ListBoxThe data to drop for the right ListBox is determined in the DragDrop event handler and the String value is added at the appropriate place in the ListBox. 如果拖动操作移到窗体的边界之外,则会在事件处理程序中取消拖放操作 QueryContinueDragIf the drag operation moves outside the bounds of the form, then the drag-and-drop operation is canceled in the QueryContinueDrag event handler.

此代码摘录演示了如何使用 GiveFeedbackEventArgs 类。This code excerpt demonstrates using the GiveFeedbackEventArgs class. DoDragDrop有关完整的代码示例,请参阅方法。See the DoDragDrop method for the complete code example.

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 拖动操作过程中发生该事件。The GiveFeedback event occurs during a drag operation. 它允许拖动事件的源修改鼠标指针的外观,以便在拖放操作过程中为用户提供视觉反馈。It allows the source of a drag event to modify the appearance of the mouse pointer in order to give the user visual feedback during a drag-and-drop operation. GiveFeedbackEventArgs对象指定拖放操作的类型以及是否使用默认游标。A GiveFeedbackEventArgs object specifies the type of drag-and-drop operation and whether default cursors are used.

有关事件模型的信息,请参阅 处理和引发事件For information about the event model, see Handling and Raising Events.

构造函数

GiveFeedbackEventArgs(DragDropEffects, Boolean)

初始化 GiveFeedbackEventArgs 类的新实例。Initializes a new instance of the GiveFeedbackEventArgs class.

属性

Effect

获取显示的拖放操作反馈。Gets the drag-and-drop operation feedback that is displayed.

UseDefaultCursors

获取或设置拖动操作是否应使用与拖放效果关联的默认光标。Gets or sets whether drag operation should use the default cursors that are associated with drag-drop effects.

方法

Equals(Object)

确定指定对象是否等于当前对象。Determines whether the specified object is equal to the current object.

(继承自 Object)
GetHashCode()

作为默认哈希函数。Serves as the default hash function.

(继承自 Object)
GetType()

获取当前实例的 TypeGets the Type of the current instance.

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。Creates a shallow copy of the current Object.

(继承自 Object)
ToString()

返回表示当前对象的字符串。Returns a string that represents the current object.

(继承自 Object)

适用于