ToolStripItem.DragOver Gebeurtenis

Definitie

Treedt op wanneer de gebruiker een item over het clientgebied van dit item sleept.

public:
 event System::Windows::Forms::DragEventHandler ^ DragOver;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.DragEventHandler DragOver;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.DragEventHandler? DragOver;
[<System.ComponentModel.Browsable(false)>]
member this.DragOver : System.Windows.Forms.DragEventHandler 
Public Custom Event DragOver As DragEventHandler 

Gebeurtenistype

Kenmerken

Voorbeelden

In het volgende codevoorbeeld ziet u het gebruik van dit lid. In het voorbeeld rapporteert een gebeurtenis-handler over het optreden van de DragOver gebeurtenis. Dit rapport helpt u te leren wanneer de gebeurtenis plaatsvindt en u kan helpen bij het opsporen van fouten. Als u wilt rapporteren over meerdere gebeurtenissen of gebeurtenissen die vaak optreden, kunt u overwegen het bericht te vervangen MessageBox.ShowConsole.WriteLine door of toe te voegen aan een multiline TextBox.

Als u de voorbeeldcode wilt uitvoeren, plakt u deze in een project dat een exemplaar bevat van een type dat overgaat van ToolStripItem, zoals een ToolStripButton of ToolStripMenuItem. Geef het exemplaar ToolStripItem1 een naam en zorg ervoor dat de gebeurtenis-handler aan de DragOver gebeurtenis is gekoppeld.

private void ToolStripItem1_DragOver(Object sender, DragEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "Data", e.Data );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "KeyState", e.KeyState );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "X", e.X );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Y", e.Y );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "AllowedEffect", e.AllowedEffect );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Effect", e.Effect );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "DragOver Event" );
}
Private Sub ToolStripItem1_DragOver(sender as Object, e as DragEventArgs) _ 
     Handles ToolStripItem1.DragOver

    Dim messageBoxVB as New System.Text.StringBuilder()
    messageBoxVB.AppendFormat("{0} = {1}", "Data", e.Data)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "KeyState", e.KeyState)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "X", e.X)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Y", e.Y)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "AllowedEffect", e.AllowedEffect)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Effect", e.Effect)
    messageBoxVB.AppendLine()
    MessageBox.Show(messageBoxVB.ToString(),"DragOver Event")

End Sub

Opmerkingen

De DragOver gebeurtenis wordt gegenereerd wanneer de muiscursor binnen de grenzen van het besturingselement beweegt tijdens een bewerking met 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.

Van toepassing op