ToolStripItem.DragEnter Evento
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Si verifica quando l'utente trascina un elemento nell'area client di questo elemento.
public:
event System::Windows::Forms::DragEventHandler ^ DragEnter;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.DragEventHandler DragEnter;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.DragEventHandler? DragEnter;
[<System.ComponentModel.Browsable(false)>]
member this.DragEnter : System.Windows.Forms.DragEventHandler
Public Custom Event DragEnter As DragEventHandler
Tipo evento
- Attributi
Esempio
Nell'esempio di codice seguente viene illustrato come convertire le X proprietà e Y in un client Point. Questo esempio di codice fa parte di un esempio più ampio fornito per la ToolStripRenderer classe .
// 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;
}
}
' This method defines the DragOver event behavior.
Protected Overrides Sub OnDragOver(dea As DragEventArgs)
MyBase.OnDragOver(dea)
' Get the ToolStripButton control
' at the given mouse position.
Dim p As New Point(dea.X, dea.Y)
Dim item As ToolStripButton = CType(Me.GetItemAt(Me.PointToClient(p)), ToolStripButton)
' If the ToolStripButton control is the empty cell,
' indicate that the move operation is valid.
If item Is Me.emptyCellButton Then
' Set the drag operation to indicate a valid move.
dea.Effect = DragDropEffects.Move
End If
End Sub
Commenti
L'evento DragEnter viene generato quando l'utente trascina prima il cursore del mouse sull'elemento durante un'operazione di trascinamento della selezione.
Le note seguenti descrivono come e quando vengono generati eventi correlati alle operazioni di trascinamento della selezione.
Il DoDragDrop metodo determina l'elemento nella posizione corrente del cursore. Verifica quindi se l'elemento è una destinazione di rilascio valida.
Se l'elemento è una destinazione di rilascio valida, l'evento GiveFeedback viene generato con l'effetto di trascinamento della selezione specificato. Per un elenco degli effetti di trascinamento e rilascio, vedere l'enumerazione DragDropEffects.
Le modifiche apportate alla posizione del cursore del mouse, allo stato della tastiera e al pulsante del mouse vengono rilevate nel modo seguente:
Se l'utente si sposta al di fuori di una finestra, verrà generato un evento DragLeave.
Se il mouse immette un altro elemento, viene generato l'oggetto DragEnter per tale controllo.
Se il mouse si sposta ma rimane all'interno dello stesso elemento, viene generato l'evento DragOver .
Se si verifica una modifica nello stato della tastiera o del pulsante del mouse, l'evento QueryContinueDrag viene generato e determina se continuare il trascinamento, rilasciare i dati o annullare l'operazione in base al valore della Action proprietà dell'evento QueryContinueDragEventArgs.
Se il valore di DragAction è Continue, l'evento DragOver viene generato per continuare l'operazione e l'evento viene generato con il GiveFeedback nuovo effetto in modo che sia possibile impostare il feedback visivo appropriato. Per un elenco degli effetti di trascinamento validi, vedere l'enumerazione DragDropEffects.
Gli DragOver eventi e GiveFeedback vengono associati in modo che quando il mouse si sposta attraverso la destinazione di rilascio, all'utente viene assegnato il feedback più aggiornato sulla posizione del mouse, come indicato di seguito:
Se il valore di è Drop, il valore dell'effetto di rilascio viene restituito all'origine, in modo che l'applicazione di origine possa eseguire l'operazione appropriata sui dati di DragAction origine, ad esempio tagliare i dati se l'operazione è stata spostata.
Se il valore di DragAction è Cancel, viene generato l'evento DragLeave .
Nota
Le X proprietà e Y di DragEventArgs sono in coordinate dello schermo, non coordinate client.
Per ulteriori informazioni sulla gestione degli eventi, consultare gestione e generazione di eventi.