ToolStripItem.QueryContinueDrag 事件

定义

在拖放操作期间发生,并且允许拖动源确定是否应取消拖放操作。

C#
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.QueryContinueDragEventHandler QueryContinueDrag;
C#
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.QueryContinueDragEventHandler? QueryContinueDrag;

事件类型

属性

示例

下面的代码示例演示了此成员的用法。 在此示例中,事件处理程序报告事件的发生情况 QueryContinueDrag 。 此报告可帮助你了解事件发生的时间,并可以帮助你进行调试。 若要报告多个事件或频繁发生的事件,请考虑将 MessageBox.ShowConsole.WriteLine 消息替换为 或将消息追加到多行 TextBox

若要运行示例代码,请将其粘贴到包含继承自 ToolStripItem的类型的实例(如 ToolStripButtonToolStripMenuItem)的项目中。 然后命名实例 ToolStripItem1 并确保事件处理程序与事件 QueryContinueDrag 相关联。

C#
private void ToolStripItem1_QueryContinueDrag(Object sender, QueryContinueDragEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "KeyState", e.KeyState );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "EscapePressed", e.EscapePressed );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Action", e.Action );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "QueryContinueDrag Event" );
}

注解

QueryContinueDrag 拖放操作期间键盘或鼠标按钮状态发生更改时,将引发 该事件。 事件 QueryContinueDrag 允许拖动源确定是否应取消拖放操作。

以下说明介绍了如何以及何时引发与拖放操作相关的事件。

方法 DoDragDrop 确定当前光标位置下的项。 然后,它会检查该项是否是有效的放置目标。

如果项是有效的放置目标,则会 GiveFeedback 使用指定的拖放效果引发事件。 有关拖放效果的列表,请参见 DragDropEffects 枚举。

按以下方式跟踪鼠标光标位置、键盘状态和鼠标按钮状态的更改:

  • 如果用户移出一个窗口,则引发 DragLeave 事件。

  • 如果鼠标进入另一项, DragEnter 则会引发该控件的 。

  • 如果鼠标移动但停留在同一项中,则会 DragOver 引发 事件。

如果键盘或鼠标按钮状态发生更改,则会QueryContinueDrag引发 事件,并根据事件的 QueryContinueDragEventArgs属性的值Action确定是继续拖动、删除数据还是取消操作。

如果 的DragActionContinue值为 ,则会DragOver引发事件以继续操作,并使用GiveFeedback新效果引发事件,因此可以设置适当的视觉反馈。 有关有效放置效果的列表,请参见 DragDropEffects 枚举。

DragOverGiveFeedback 事件是配对的,以便当鼠标在放置目标上移动时,用户将获得有关鼠标位置的最新反馈,如下所示:

  • 如果 的DragActionDrop值为 ,则删除效果值将返回到源,因此源应用程序可以对源数据执行适当的操作;例如,如果操作是移动,则剪切数据。

  • 如果 的DragActionCancel值为 ,则DragLeave引发 事件。

适用于

产品 版本
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10