KeyPressEventArgs KeyPressEventArgs KeyPressEventArgs KeyPressEventArgs Class

Определение

Предоставляет данные для события KeyPress.Provides data for the KeyPress event.

public ref class KeyPressEventArgs : EventArgs
[System.Runtime.InteropServices.ComVisible(true)]
public class KeyPressEventArgs : EventArgs
type KeyPressEventArgs = class
    inherit EventArgs
Public Class KeyPressEventArgs
Inherits EventArgs
Наследование
KeyPressEventArgsKeyPressEventArgsKeyPressEventArgsKeyPressEventArgs
Атрибуты

Примеры

В следующем примере демонстрируется использование KeyPressEventArgs количество ключей, как их нажатия и отображения результатов после каждого нажатия клавиши.The following example illustrates using the KeyPressEventArgs to count keys as they are pressed and to display the results after each key press. Handled Затем значение true, если сохранить операционной системы из дальнейшей обработки ключ.Handled is then set to true to keep the operating system from further processing the key. В примере предполагается, форма с TextBox на нем.The example assumes a form with a TextBox placed on it.

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 'myKeyCounter
End Class 'myKeyPressClass

Необходимо создать новый экземпляр этого класса.You must create a new instance of this class. Необходимо также задать обработчик событий.You must also set the event handler. Это можно сделать в конструкторе для класса.You can do this in the constructor for your 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 'New

При возникновении указанного события в элементе управления вызывается связанный метод, и приложение может выполнить код в ответ на событие.When the specified event is raised in the control, the attached method is called and the application can execute code in response to the event.

Комментарии

Объект KeyPressEventArgs определяет символ, который состоит в случае, когда пользователь нажимает клавишу.A KeyPressEventArgs specifies the character that is composed when the user presses a key. Например, когда пользователь нажимает SHIFT + K, KeyChar свойство возвращает прописной знак K.For example, when the user presses SHIFT + K, the KeyChar property returns an uppercase K.

Объект KeyPress событие возникает, когда пользователь нажимает клавишу.A KeyPress event occurs when the user presses a key. Два события, которые тесно связаны KeyPress событие KeyUp и KeyDown.Two events that are closely related to the KeyPress event are KeyUp and KeyDown. KeyDown Событий предшествует каждому KeyPress событие, когда пользователь нажимает клавишу и KeyUp событие возникает, когда пользователь отпускает клавишу.The KeyDown event precedes each KeyPress event when the user presses a key, and a KeyUp event occurs when the user releases a key. При удерживании клавиши пользователем, дублировать KeyDown и KeyPress события происходят каждый раз, когда символ повторяется.When the user holds down a key, duplicate KeyDown and KeyPress events occur each time the character repeats. Один KeyUp событие создается после ее выхода.One KeyUp event is generated upon release.

С каждым KeyPress событий, KeyPressEventArgs передается.With each KeyPress event, a KeyPressEventArgs is passed. Объект KeyEventArgs передается с каждым KeyDown и KeyUp событий.A KeyEventArgs is passed with each KeyDown and KeyUp event. Объект KeyEventArgs указывает, были ли любые клавиши-модификаторы (сочетание клавиш CTRL, SHIFT или ALT) нажаты вместе с другим ключом.A KeyEventArgs specifies whether any modifier keys (CTRL, SHIFT, or ALT) were pressed along with another key. (Эта информация модификатор можно также получить с помощью ModifierKeys свойство Control класса.)(This modifier information can also be obtained through the ModifierKeys property of the Control class.)

Задайте Handled для true отменить KeyPress событий.Set Handled to true to cancel the KeyPress event. Это предотвращает обработки нажатия клавиши управления.This keeps the control from processing the key press.

Примечание

Некоторые элементы управления будет обрабатывать определенные нажатий клавиш на KeyDown.Some controls will process certain key strokes on KeyDown. Например RichTextBox обрабатывает клавишу ВВОД перед KeyPress вызывается.For example, RichTextBox processes the Enter key before KeyPress is called. В таких случаях не удается отменить KeyPress событий и необходимо отменить эти рукописные данные ключа из KeyDown вместо этого.In such cases, you cannot cancel the KeyPress event, and must cancel the key stroke from KeyDown instead.

Сведения о модели событий, см. в разделе обработка и вызов событий.For information about the event model, see Handling and Raising Events.

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

KeyPressEventArgs(Char) KeyPressEventArgs(Char) KeyPressEventArgs(Char) KeyPressEventArgs(Char)

Инициализирует новый экземпляр класса KeyPressEventArgs.Initializes a new instance of the KeyPressEventArgs class.

Свойства

Handled Handled Handled Handled

Возвращает или задает значение, показывающее, было ли обработано событие KeyPress.Gets or sets a value indicating whether the KeyPress event was handled.

KeyChar KeyChar KeyChar KeyChar

Получает или задает знак, соответствующий нажатой клавише.Gets or sets the character corresponding to the key pressed.

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

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

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