QueryContinueDragEventArgs.KeyState Vlastnost
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í.
Získá aktuální stav kláves SHIFT, CTRL a ALT.
public:
property int KeyState { int get(); };
public int KeyState { get; }
member this.KeyState : int
Public ReadOnly Property KeyState As Integer
Hodnota vlastnosti
Aktuální stav kláves SHIFT, CTRL a ALT.
Příklady
Následující příklad kódu ukazuje použití tohoto člena. V příkladu obslužná rutina události hlásí výskyt Control.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 Control, například nebo ButtonComboBox. Potom pojmenujte instanci Control1
a ujistěte se, že obslužná rutina události je přidružená k Control.QueryContinueDrag události.
private void Control1_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 Control1_QueryContinueDrag(sender as Object, e as QueryContinueDragEventArgs) _
Handles Control1.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
Bity nastavené ve KeyState vlastnosti identifikují klávesy nebo tlačítka myši, které byly během operace stisknuty. Pokud je například stisknuto levé tlačítko myši, nastaví se první bit vlastnosti KeyState . K testování daného stavu klíče můžete použít bitový AND
operátor.
V následující tabulce jsou uvedeny bity, které jsou nastaveny pro zadanou událost.
Bit | Klíč |
---|---|
1 | Levé tlačítko myši. |
2 | Pravé tlačítko myši |
4 | Klávesa SHIFT. |
8 | Klíč CTL. |
16 | Prostřední tlačítko myši. |
32 | Klávesa ALT. |
Ve výchozím nastavení QueryContinueDrag se událost nastaví Action na DragAction.Drop hodnotu if KeyState označující stisknutí levého, prostředního nebo pravého tlačítka myši.