Sdílet prostřednictvím


ToolStripItem.QueryContinueDrag Událost

Definice

Vyvolá se během operace přetažení a umožňuje zdroji přetažení určit, zda má být operace přetažení zrušena.

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

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 QueryContinueDrag 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 QueryContinueDrag události.

private void ToolStripItem1_QueryContinueDrag(Object sender, QueryContinueDragEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "KeyState", e.KeyState );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "EscapePressed", e.EscapePressed );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Action", e.Action );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "QueryContinueDrag Event" );
}
Private Sub ToolStripItem1_QueryContinueDrag(sender as Object, e as QueryContinueDragEventArgs) _ 
     Handles ToolStripItem1.QueryContinueDrag

    Dim messageBoxVB as New System.Text.StringBuilder()
    messageBoxVB.AppendFormat("{0} = {1}", "KeyState", e.KeyState)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "EscapePressed", e.EscapePressed)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Action", e.Action)
    messageBoxVB.AppendLine()
    MessageBox.Show(messageBoxVB.ToString(),"QueryContinueDrag Event")

End Sub

Poznámky

Událost QueryContinueDrag se vyvolá, když během operace přetažení dojde ke změně stavu tlačítka klávesnice nebo myši. Událost QueryContinueDrag umožňuje zdroji přetažení určit, zda má být operace přetažení zrušena.

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