Evento ToolStripItem.DragEnter
Assembly: System.Windows.Forms (in system.windows.forms.dll)
L'evento DragEnter viene generato quando l'utente trascina il cursore del mouse sull'elemento durante un'operazione di trascinamento.
Nelle note riportate di seguito viene descritto come e quando vengono generati gli eventi relativi alle operazioni di trascinamento della selezione.
Il metodo DoDragDrop determina l'elemento in corrispondenza della posizione corrente del cursore. Viene quindi verificato se l'elemento è una destinazione valida per il rilascio.
In caso affermativo, viene generato l'evento GiveFeedback con l'effetto di trascinamento specificato. Per un elenco degli effetti di trascinamento, vedere l'enumerazione DragDropEffects.
Di seguito è indicato il modo in cui vengono gestite le eventuali modifiche a livello di posizione del cursore del mouse, stato della tastiera e stato dei pulsanti del mouse:
-
Se si sposta il cursore del mouse al di fuori di una finestra, viene generato un evento DragLeave.
-
Se il mouse viene spostato su un altro elemento, viene generato l'evento DragEnter per tale controllo.
-
Se il mouse viene spostato ma rimane all'interno dello stesso elemento, viene generato l'evento DragOver.
Se si verifica un cambiamento nello stato della tastiera o dei pulsanti del mouse, verrà generato l'evento QueryContinueDrag e verrà determinato se continuare l'operazione di trascinamento, rilasciare i dati o annullare l'operazione in base al valore della proprietà Action dell'evento QueryContinueDragEventArgs.
Se il valore di DragAction è Continue, viene generato l'evento DragOver per continuare l'operazione. Viene inoltre generato l'evento GiveFeedback con il nuovo effetto per consentire l'impostazione dell'azione visiva appropriata. Per un elenco degli effetti di trascinamento validi, vedere l'enumerazione DragDropEffects.
Gli eventi DragOver e GiveFeedback vengono combinati in modo che, durante lo spostamento del mouse verso la destinazione di rilascio, all'utente vengano visualizzate informazioni aggiornate relative alla posizione del mouse, come indicato di seguito:
-
Se il valore di DragAction è Drop, il valore dell'effetto di rilascio viene restituito all'applicazione di origine, per consentire a quest'ultima di eseguire l'azione appropriata sui dati di origine, ad esempio il taglio dei dati in caso di un'operazione di spostamento.
-
Se il valore di DragAction è Cancel, viene generato l'evento DragLeave.
Nota: |
|---|
| Le proprietà X e Y di DragEventArgs sono espresse in coordinate dello schermo e non in coordinate del client. |
Per ulteriori informazioni sulla gestione di eventi, vedere Utilizzo degli eventi.
Nell'esempio di codice riportato di seguito viene illustrato come convertire le proprietà X e Y in un oggetto Point client. Questo esempio di codice fa parte di un esempio più esaustivo fornito per la classe ToolStripRenderer.
// This method defines the DragOver event behavior. protected override void OnDragOver(DragEventArgs dea) { base.OnDragOver(dea); // Get the ToolStripButton control // at the given mouse position. Point p = new Point(dea.X, dea.Y); ToolStripButton item = this.GetItemAt( this.PointToClient(p)) as ToolStripButton; // If the ToolStripButton control is the empty cell, // indicate that the move operation is valid. if( item == this.emptyCellButton ) { // Set the drag operation to indicate a valid move. dea.Effect = DragDropEffects.Move; } }
Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile per Pocket PC, Windows Mobile per Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
Microsoft .NET Framework 3.0 è supportato in Windows Vista, Microsoft Windows XP SP2 e Windows Server 2003 SP1.
Nota: