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 tomto 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 při ladění. Chcete-li 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 do víceřádkového řetězce TextBox.
Pokud chcete spustit ukázkový kód, vložte ho do projektu, který obsahuje instanci typu, který dědí z Controlobjektu , například nebo ButtonComboBox. Potom instanci Control1 pojmenujte a ujistěte se, že je obslužná rutina události 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á byla během operace stisknuta. Pokud je například stisknuto levé tlačítko myši, nastaví se první bit ve KeyState vlastnosti. Pomocí bitového AND operátoru můžete testovat stav daného klíče.
Následující tabulka uvádí bity, které jsou nastavené 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í se událost nastaví Action tak DragAction.DropKeyState, QueryContinueDrag že se stiskne levé, prostřední nebo pravé tlačítko myši.