Прочитать на английском

Поделиться через


KeyPressEventArgs Класс

Определение

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

[System.Runtime.InteropServices.ComVisible(true)]
public class KeyPressEventArgs : EventArgs
public class KeyPressEventArgs : EventArgs
Наследование
KeyPressEventArgs
Атрибуты

Примеры

В следующем примере показано использование для подсчета 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);
}

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

Комментарии

Указывает KeyPressEventArgs символ, который создается при нажатии пользователем клавиши. Например, когда пользователь нажимает клавиши SHIFT+K, KeyChar свойство возвращает прописную букву K.

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

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

Задайте значение Handledtrue , чтобы отменить KeyPress событие. Это не позволяет элементу управления обрабатывать нажатие клавиши.

Примечание

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

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

Конструкторы

KeyPressEventArgs(Char)

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

Свойства

Handled

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

KeyChar

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

Методы

Equals(Object)

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

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

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

(Унаследовано от Object)
MemberwiseClone()

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

(Унаследовано от Object)
ToString()

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

(Унаследовано от Object)

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

Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

См. также раздел