ToolStripItem.DragOver Událost

Definice

Vyvolá se, když uživatel přetáhne položku přes oblast klienta této položky.

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 

Event Type

Atributy

Příklady

Následující příklad kódu ukazuje použití tohoto členu. V příkladu obslužná rutina události hlásí výskyt DragOver události. Tato sestava vám pomůže zjistit, kdy k události dojde, a může vám pomoct s laděním. Pokud chcete hlásit více událostí nebo událostí, ke kterým dochází často, zvažte nahrazení MessageBox.ShowConsole.WriteLine nebo připojení zprávy k víceřádkovému TextBoxobjektu .

Pokud chcete spustit ukázkový kód, vložte ho do projektu, který obsahuje instanci typu, který dědí z ToolStripItem, jako je například nebo ToolStripButtonToolStripMenuItem. Potom instanci ToolStripItem1 pojmenujte a ujistěte se, že obslužná rutina události je přidružená k DragOver události.

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

Poznámky

Událost DragOver je vyvolána, když se kurzor myši pohybuje v rámci ovládacího prvku během operace přetažení.

Následující poznámky popisují, jak a kdy jsou vyvolány události související s operacemi přetažení.

Metoda DoDragDrop určuje položku pod aktuálním umístěním kurzoru. Poté zkontroluje, jestli je položka platným cílem přetažení.

Pokud je položka platným cílem přetažení, GiveFeedback událost je vyvolána se zadaným efektem přetažení. Seznam efektů přetažení najdete ve výčtu DragDropEffects .

Změny v umístění kurzoru myši, stavu klávesnice a stavu tlačítka myši se sledují následujícím způsobem:

  • Pokud se uživatel přesune z okna, DragLeave událost se vyvolá.

  • Pokud myš přejde na jinou položku, DragEnter u daného ovládacího prvku se vygeneruje hodnota .

  • Pokud se myš přesune, ale zůstane ve stejné položce, vyvolá se DragOver událost.

Pokud dojde ke změně stavu tlačítka klávesnice nebo myši, QueryContinueDrag událost je vyvolána a určuje, zda pokračovat v přetažení, odstranit data nebo zrušit operaci na základě hodnoty Action vlastnosti události QueryContinueDragEventArgs.

Pokud je Continuehodnota DragAction , DragOver událost se vyvolá, aby operace pokračovala, a GiveFeedback událost se vyvolá s novým efektem, aby bylo možné nastavit odpovídající vizuální zpětnou vazbu. Seznam platných efektů přetažení najdete ve výčtu DragDropEffects .

DragOver Události a GiveFeedback se spárují tak, že při pohybu myši přes cíl přetažení se uživateli zobrazí nejaktuálnější zpětná vazba na pozici myši, a to následujícím způsobem:

  • Pokud je Drophodnota DragAction hodnota , vrátí se zdroji hodnota efektu poklesu, aby zdrojová aplikace mohl se zdrojovými daty provést příslušnou operaci, například vyjmout data, pokud se operace provedla přesunem.

  • Pokud je Cancelhodnota , DragActionDragLeave událost se vyvolá.

Platí pro