KeyPressEventArgs Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет данные для события KeyPress.
public ref class KeyPressEventArgs : EventArgs
[System.Runtime.InteropServices.ComVisible(true)]
public class KeyPressEventArgs : EventArgs
public class KeyPressEventArgs : EventArgs
[<System.Runtime.InteropServices.ComVisible(true)>]
type KeyPressEventArgs = class
inherit EventArgs
type KeyPressEventArgs = class
inherit EventArgs
Public Class KeyPressEventArgs
Inherits EventArgs
- Наследование
- Атрибуты
Примеры
В следующем примере показано использование счетчика KeyPressEventArgs ключей при нажатии и отображении результатов после каждого нажатия клавиши. Handled Затем задано значение true, чтобы сохранить операционную систему от дальнейшей обработки ключа. В примере предполагается, что форма с помещенной на ней формой TextBox .
public ref class myKeyPressClass
{
private:
static long keyPressCount = 0;
static long backspacePressed = 0;
static long returnPressed = 0;
static long escPressed = 0;
TextBox^ textBox1;
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 = String::Concat(
backspacePressed, " backspaces pressed\r\n",
escPressed, " escapes pressed\r\n",
returnPressed, " returns pressed\r\n",
keyPressCount, " other keys pressed\r\n" );
ex->Handled = true;
}
};
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 ;
}
}
Public Class myKeyPressClass
Private Shared keyPressCount As Long = 0
Private Shared backspacePressed As Long = 0
Private Shared returnPressed As Long = 0
Private Shared escPressed As Long = 0
Private textBox1 As TextBox
Private Sub myKeyCounter(sender As Object, ex As KeyPressEventArgs)
Select Case ex.KeyChar
' Counts the backspaces.
Case ControlChars.Back
backspacePressed = backspacePressed + 1
' Counts the ENTER keys.
Case ControlChars.Lf
returnPressed = returnPressed + 1
' Counts the ESC keys.
Case Convert.ToChar(27)
escPressed = escPressed + 1
' Counts all other keys.
Case Else
keyPressCount = keyPressCount + 1
End Select
textBox1.Text = backspacePressed & " backspaces pressed" & _
ControlChars.Lf & ControlChars.Cr & escPressed & _
" escapes pressed" & ControlChars.CrLf & returnPressed & _
" returns pressed" & ControlChars.CrLf & keyPressCount & _
" other keys pressed" & ControlChars.CrLf
ex.Handled = True
End Sub
End Class
Необходимо создать новый экземпляр этого класса. Кроме того, необходимо задать обработчик событий. Это можно сделать в конструкторе для вашего класса.
public:
myKeyPressClass^ myKeyPressHandler;
Form1()
{
myKeyPressHandler = gcnew myKeyPressClass;
InitializeComponent();
textBox1->KeyPress += gcnew KeyPressEventHandler(
myKeyPressHandler, &myKeyPressClass::myKeyCounter );
}
myKeyPressClass myKeyPressHandler = new myKeyPressClass();
public Form1()
{
InitializeComponent();
textBox1.KeyPress += new KeyPressEventHandler(myKeyPressHandler.myKeyCounter);
}
Private myKeyPressHandler As New myKeyPressClass()
Public Sub New()
InitializeComponent()
AddHandler textBox1.KeyPress, AddressOf myKeyPressHandler.myKeyCounter
End Sub
При возникновении указанного события в элементе управления вызывается присоединенный метод, и приложение может выполнять код в ответ на событие.
Комментарии
Указывает KeyPressEventArgs символ, состоящий при нажатии клавиши. Например, когда пользователь нажимает SHIFT+K, KeyChar свойство возвращает прописную букву K.
KeyPress Событие возникает, когда пользователь нажимает клавишу. Два события, которые тесно связаны с KeyPress событием, и KeyDownKeyUp . Событие 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) |