KeyEventArgs.KeyData Свойство

Определение

Получает данные, касающиеся клавиши, для события KeyDown или KeyUp.Gets the key data for a KeyDown or KeyUp event.

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 были нажаты одновременно.A Keys representing the key code for the key that was pressed, combined with modifier flags that indicate which combination of CTRL, SHIFT, and ALT keys was pressed at the same time.

Примеры

В следующем примере кода показано использование этого элемента.The following code example demonstrates the use of this member. В этом примере обработчик событий сообщает о возникновении события Control.KeyDown.In the example, an event handler reports on the occurrence of the Control.KeyDown event. Этот отчет поможет вам узнать, когда происходит событие и может помочь при отладке.This report helps you to learn when the event occurs and can assist you in debugging. Чтобы сообщить о нескольких событиях или событиях, которые происходят часто, попробуйте заменить MessageBox.Show Console.WriteLine или добавив сообщение в многострочный TextBox.To report on multiple events or on events that occur frequently, consider replacing MessageBox.Show with Console.WriteLine or appending the message to a multiline TextBox.

Чтобы выполнить пример кода, вставьте его в проект, содержащий экземпляр типа, который наследуется от Control, например Button или ComboBox.To run the example code, paste it into a project that contains an instance of a type that inherits from Control, such as a Button or ComboBox. Затем присвойте экземпляру имя Control1 и убедитесь, что обработчик событий связан с событием Control.KeyDown.Then name the instance Control1 and ensure that the event handler is associated with the Control.KeyDown event.

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.You can use constants from Keys to extract information from the KeyData property. Используйте оператор побитового и для сравнения данных, возвращаемых KeyData с константами в Keys, чтобы получить сведения о том, какие ключи пользователь нажал.Use the bitwise AND operator to compare data returned by KeyData with constants in Keys to obtain information about which keys the user pressed. Чтобы определить, была ли нажата определенная клавиша-модификатор, используйте свойства Control, Shiftи Alt.To determine whether a specific modifier key was pressed, use the Control, Shift, and Alt properties.

Применяется к

Дополнительно