ToolStripItem.QueryContinueDrag Událost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 Continue
hodnota 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
Drop
hodnota 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
Cancel
hodnota , DragActionDragLeave událost se vyvolá.