KeyEventArgs.KeyData Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
public:
property System::Windows::Forms::Keys KeyData { System::Windows::Forms::Keys get(); };
public System.Windows.Forms.Keys KeyData { get; }
member this.KeyData : System.Windows.Forms.Keys
Public ReadOnly Property KeyData As Keys
Значение свойства
Значение Keys, представляющее код нажатой клавиши вместе с любыми флагами, показывающими, какие из клавиш CTRL, SHIFT и ALT были нажаты одновременно.
Примеры
В следующем примере кода показано использование этого элемента. В этом примере обработчик событий сообщает о возникновении Control.KeyDown события. Этот отчет поможет вам узнать, когда происходит событие, и поможет вам в отладке. Чтобы сообщить о нескольких событиях или о событиях, которые происходят часто, рекомендуется заменить MessageBox.ShowConsole.WriteLine сообщение или добавить его в многостроочный TextBox.
Чтобы выполнить пример кода, вставьте его в проект, содержащий экземпляр типа, наследуемого от Control, например Button или ComboBox. Затем присвойте экземпляру Control1
имя и убедитесь, что обработчик событий связан с событием Control.KeyDown .
private void Control1_KeyDown(Object sender, KeyEventArgs e) {
System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "Alt", e.Alt );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Control", e.Control );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Handled", e.Handled );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "KeyCode", e.KeyCode );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "KeyValue", e.KeyValue );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "KeyData", e.KeyData );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Modifiers", e.Modifiers );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Shift", e.Shift );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "SuppressKeyPress", e.SuppressKeyPress );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "KeyDown Event" );
}
Private Sub Control1_KeyDown(sender as Object, e as KeyEventArgs) _
Handles Control1.KeyDown
Dim messageBoxVB as New System.Text.StringBuilder()
messageBoxVB.AppendFormat("{0} = {1}", "Alt", e.Alt)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "Control", e.Control)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "Handled", e.Handled)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "KeyCode", e.KeyCode)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "KeyValue", e.KeyValue)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "KeyData", e.KeyData)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "Modifiers", e.Modifiers)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "Shift", e.Shift)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "SuppressKeyPress", e.SuppressKeyPress)
messageBoxVB.AppendLine()
MessageBox.Show(messageBoxVB.ToString(),"KeyDown Event")
End Sub
Комментарии
Константы из Keys можно использовать для извлечения сведений KeyData из свойства . Используйте побитовый оператор AND для сравнения данных, возвращаемых KeyData с константами в , Keys чтобы получить сведения о том, какие клавиши нажаты пользователем. Чтобы определить, была ли нажата определенная клавиша-модификатор Control, используйте свойства , Shiftи Alt .