QueryContinueDragEventArgs Class
Assembly: System.Windows.Forms (in system.windows.forms.dll)
The QueryContinueDrag event occurs during a drag-and-drop operation and allows the drag source to determine whether the drag-and-drop operation should be canceled. A QueryContinueDragEventArgs specifies whether and how the drag-and-drop operation should proceed, whether any modifier keys are pressed, and whether the user has pressed the ESC key.
By default, the QueryContinueDrag event sets Action to DragAction.Cancel if the ESC key was pressed and sets Action to DragAction.Drop if the left, middle, or right mouse button is pressed.
For information about the event model, see Events and Delegates.
This code excerpt demonstrates using the QueryContinueDragEventArgs class with the QueryContinueDrag event. See the DoDragDrop method for the complete code example.
private void ListDragSource_QueryContinueDrag(object sender, System.Windows.Forms.QueryContinueDragEventArgs e) { // Cancel the drag if the mouse moves off the form. ListBox lb = sender as ListBox; if (lb != null) { Form f = lb.FindForm(); // Cancel the drag if the mouse moves off the form. The screenOffset // takes into account any desktop bands that may be at the top or left // side of the screen. if (((Control.MousePosition.X - screenOffset.X) < f.DesktopBounds.Left) || ((Control.MousePosition.X - screenOffset.X) > f.DesktopBounds.Right) || ((Control.MousePosition.Y - screenOffset.Y) < f.DesktopBounds.Top) || ((Control.MousePosition.Y - screenOffset.Y) > f.DesktopBounds.Bottom)) { e.Action = DragAction.Cancel; } } }
private void listDragSource_QueryContinueDrag(Object sender,
System.Windows.Forms.QueryContinueDragEventArgs e)
{
// Cancel the drag if the mouse moves off the form.
ListBox lb = (ListBox)sender;
if (lb != null) {
Form f = lb.FindForm();
// Cancel the drag if the mouse moves off the form. The
// screenOffset takes into account any desktop bands
// that may be at the top or left side of the screen.
if (Control.get_MousePosition().get_X() - screenOffset.get_X()
< f.get_DesktopBounds().get_Left()
|| Control.get_MousePosition().get_X()
- screenOffset.get_X() > f.get_DesktopBounds().get_Right()
|| Control.get_MousePosition().get_Y() - screenOffset.get_Y()
< f.get_DesktopBounds().get_Top()
|| Control.get_MousePosition().get_Y() - screenOffset.get_Y()
> f.get_DesktopBounds().get_Bottom()) {
e.set_Action(DragAction.Cancel);
}
}
} //listDragSource_QueryContinueDrag
Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.