Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

Класс KeyPressEventArgs

 

Опубликовано: Октябрь 2016

Предоставляет данные для события KeyPress.

Пространство имен:   System.Windows.Forms
Сборка:  System.Windows.Forms (в System.Windows.Forms.dll)

System.Object
  System.EventArgs
    System.Windows.Forms.KeyPressEventArgs

[ComVisibleAttribute(true)]
public class KeyPressEventArgs : EventArgs

ИмяОписание
System_CAPS_pubmethodKeyPressEventArgs(Char)

Инициализирует новый экземпляр класса KeyPressEventArgs.

ИмяОписание
System_CAPS_pubpropertyHandled

Возвращает или задает значение, указывающее, является ли KeyPress было обработано событие.

System_CAPS_pubpropertyKeyChar

Возвращает или задает символ, соответствующий нажатой клавише.

ИмяОписание
System_CAPS_pubmethodEquals(Object)

Определяет, равен ли заданный объект текущему объекту.(Наследуется от Object.)

System_CAPS_protmethodFinalize()

Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как он будет уничтожен во время сборки мусора.(Наследуется от Object.)

System_CAPS_pubmethodGetHashCode()

Служит хэш-функцией по умолчанию.(Наследуется от Object.)

System_CAPS_pubmethodGetType()

Возвращает объект Type для текущего экземпляра.(Наследуется от Object.)

System_CAPS_protmethodMemberwiseClone()

Создает неполную копию текущего объекта Object.(Наследуется от Object.)

System_CAPS_pubmethodToString()

Возвращает строку, представляющую текущий объект.(Наследуется от Object.)

A KeyPressEventArgs знак, получаемый при нажатии клавиши. Например, при нажатии клавиш SHIFT + K, KeyChar свойство возвращает прописной знак K.

A KeyPress событие происходит, когда пользователь нажимает клавишу. Два события, которые тесно связаны с KeyPress событие KeyUp и KeyDown. KeyDown Событий предшествует каждому KeyPress событие, когда пользователь нажимает клавишу и KeyUp событие происходит, когда пользователь отпускает клавишу. При удерживании пользователем ключ дублирование KeyDown и KeyPress событиями каждом повторении знака. Один KeyUp событие создается после выпуска.

С каждым KeyPress события, KeyPressEventArgs передается. Объект KeyEventArgs передается с каждым KeyDown и KeyUp события. Значение KeyEventArgs Указывает, были ли клавиши-модификаторы (CTRL, SHIFT и ALT) нажаты вместе с другим ключом. (Этот модификатор сведения можно также получить с помощью ModifierKeys свойство Control класса.)

Значение Handled для true для отмены KeyPress события. Это удерживает элемент управления от обработки нажатия клавиши.

System_CAPS_noteПримечание

Некоторые элементы управления обрабатывают определенные нажатия клавиш на KeyDown. Например RichTextBox обрабатывает нажатие клавиши ВВОД перед KeyPress вызывается. В таких случаях невозможно отменить KeyPress событие и необходимо отменить нажатия клавиши из KeyDown вместо.

Сведения о модели событий см. в разделе Обработка и вызов событий.

В следующем примере демонстрируется использование KeyPressEventArgs для счета клавиш по мере их нажатия и отображения результатов после каждого нажатия клавиши. Handled Затем значение true, если сохранить операционной системы из дальнейшего обрабатывает ключ. В примере предполагается формы с TextBox к нему.

public class myKeyPressClass 
 {
     static long keyPressCount = 0 ;
     static long backspacePressed =  0;
     static long returnPressed = 0 ;
     static long escPressed = 0 ;
     private TextBox textBox1 = new TextBox();
     private void myKeyCounter(object sender, KeyPressEventArgs ex)
     {
     switch(ex.KeyChar)
     {
             // Counts the backspaces.
         case '\b':
         backspacePressed = backspacePressed + 1;
         break ;
             // Counts the ENTER keys.
         case '\r':
         returnPressed = returnPressed + 1 ;
         break ;
             // Counts the ESC keys.  
         case (char)27:
         escPressed = escPressed + 1 ;
         break ;
             // Counts all other keys.
         default:
         keyPressCount = keyPressCount + 1 ;
         break;
     }

     textBox1.Text = 
         backspacePressed + " backspaces pressed\r\n" + 
         escPressed + " escapes pressed\r\n" +
         returnPressed + " returns pressed\r\n" +
         keyPressCount + " other keys pressed\r\n" ;
     ex.Handled = true ;
     }
 }

Необходимо создать новый экземпляр этого класса. Необходимо также задать обработчик событий. Это можно сделать в конструкторе класса.

myKeyPressClass myKeyPressHandler = new myKeyPressClass();
public Form1()
{
     InitializeComponent();

     textBox1.KeyPress += new KeyPressEventHandler(myKeyPressHandler.myKeyCounter);
}

При возникновении указанного события в элементе управления вызывается связанный метод, и приложение может выполнить код в ответ на событие.

.NET Framework
Доступно с 1.1

Любые открытые статические элементы ( Предоставлен общий доступ в Visual Basic) этого типа являются потокобезопасными. Потокобезопасность элементов экземпляров не гарантируется.

Вернуться в начало
Показ: