ToolStripItem.DragEnter Gebeurtenis
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Treedt op wanneer de gebruiker een item naar het clientgebied van dit item sleept.
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
Gebeurtenistype
- Kenmerken
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de X en Y eigenschappen converteert naar een client Point. Dit codevoorbeeld maakt deel uit van een groter voorbeeld voor de ToolStripRenderer klasse.
// 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
Opmerkingen
De DragEnter gebeurtenis wordt gegenereerd wanneer de gebruiker de cursor voor het eerst over het item sleept tijdens een bewerking voor slepen en neerzetten.
In de volgende opmerkingen wordt beschreven hoe en wanneer gebeurtenissen met betrekking tot slepen-en-neerzetten-bewerkingen worden gegenereerd.
De DoDragDrop methode bepaalt het item onder de huidige cursorlocatie. Vervolgens wordt gecontroleerd of het item een geldig neervaldoel is.
Als het item een geldig neervaldoel is, wordt de GiveFeedback gebeurtenis gegenereerd met het opgegeven effect slepen en neerzetten. Zie de DragDropEffects opsomming voor een lijst met effecten voor slepen en neerzetten.
Wijzigingen in de positie van de muiscursor, de toetsenbordstatus en de status van de muisknop worden op de volgende manier bijgehouden:
Als de gebruiker uit een venster wordt verplaatst, wordt de DragLeave gebeurtenis gegenereerd.
Als de muis een ander item invoert, wordt het DragEnter voor dat besturingselement verhoogd.
Als de muis beweegt maar binnen hetzelfde item blijft, wordt de DragOver gebeurtenis gegenereerd.
Als er een wijziging in de status van de toetsenbord- of muisknop is, wordt de QueryContinueDrag gebeurtenis gegenereerd en wordt bepaald of de slepen moet worden voortgezet, de gegevens moeten worden verwijderd of als u de bewerking wilt annuleren op basis van de waarde van de eigenschap van de Action gebeurtenis QueryContinueDragEventArgs.
Als de waarde DragAction is Continue, wordt de DragOver gebeurtenis gegenereerd om door te gaan met de bewerking en wordt de GiveFeedback gebeurtenis gegenereerd met het nieuwe effect, zodat de juiste visuele feedback kan worden ingesteld. Zie de DragDropEffects opsomming voor een lijst met geldige drop-effecten.
De DragOver gebeurtenissen en GiveFeedback gebeurtenissen worden gekoppeld, zodat wanneer de muis over het neervallende doel beweegt, de gebruiker als volgt de meest up-to-datumfeedback over de positie van de muis krijgt:
Als de waarde DragAction is Drop, wordt de waarde van het neerzeteffect geretourneerd naar de bron, zodat de brontoepassing de juiste bewerking op de brongegevens kan uitvoeren, bijvoorbeeld de gegevens knippen als de bewerking een verplaatsing was.
Als de waarde DragAction is Cancel, wordt de DragLeave gebeurtenis gegenereerd.
Note
De X en Y eigenschappen van de DragEventArgs objecten bevinden zich in schermcoördinaten, niet clientcoördinaten.
Zie Gebeurtenissen verwerken en genereren voor meer informatie over het afhandelen van gebeurtenissen.