KeyPressEventArgs Klasse

Definition

Stellt Daten für das KeyPress-Ereignis bereit.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
Vererbung
KeyPressEventArgs
Attribute

Beispiele

Das folgende Beispiel veranschaulicht die Verwendung KeyPressEventArgs von, um Schlüssel zu zählen, während Sie gedrückt werden, und um die Ergebnisse nach dem Drücken der Tastenkombination anzuzeigen.The following example illustrates using the KeyPressEventArgs to count keys as they are pressed and to display the results after each key press. Handledwird dann auf "true" festgelegt, damit das Betriebssystem den Schlüssel nicht weiterverarbeitet.Handled is then set to true to keep the operating system from further processing the key. Im Beispiel wird davon ausgegangen, dass TextBox ein Formular mit einem platziert ist.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
End Class

Sie müssen eine neue Instanz dieser Klasse erstellen.You must create a new instance of this class. Sie müssen auch den-Ereignishandler festlegen.You must also set the event handler. Dies können Sie im Konstruktor für die Klasse durchführen.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

Wenn das angegebene Ereignis im-Steuerelement ausgelöst wird, wird die angefügte-Methode aufgerufen, und die Anwendung kann Code als Reaktion auf das-Ereignis ausführen.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.

Hinweise

Ein KeyPressEventArgs gibt das Zeichen an, das zusammengesetzt wird, wenn der Benutzer eine Taste drückt.A KeyPressEventArgs specifies the character that is composed when the user presses a key. Wenn der Benutzer beispielsweise UMSCHALT + k drückt, gibt die KeyChar -Eigenschaft den Großbuchstaben K zurück.For example, when the user presses SHIFT + K, the KeyChar property returns an uppercase K.

Ein KeyPress -Ereignis tritt auf, wenn der Benutzer eine Taste drückt.A KeyPress event occurs when the user presses a key. Zwei Ereignisse, die eng mit dem KeyPress Ereignis verknüpft sind, sind KeyUp und KeyDown.Two events that are closely related to the KeyPress event are KeyUp and KeyDown. Das KeyDown Ereignis geht vor jedem KeyPress Ereignis vor, wenn der Benutzer eine Taste drückt, KeyUp und ein-Ereignis tritt auf, wenn der Benutzer eine Taste loslässt.The KeyDown event precedes each KeyPress event when the user presses a key, and a KeyUp event occurs when the user releases a key. Wenn der Benutzer einen Schlüssel enthält, treten bei KeyDown jeder KeyPress Wiederholung des Zeichens doppelte-Ereignisse und-Ereignisse auf.When the user holds down a key, duplicate KeyDown and KeyPress events occur each time the character repeats. Ein KeyUp Ereignis wird bei der Freigabe generiert.One KeyUp event is generated upon release.

Bei jedem KeyPress Ereignis wird eine KeyPressEventArgs übermittelt.With each KeyPress event, a KeyPressEventArgs is passed. Ein KeyEventArgs -Wert wird mit KeyDown jedem KeyUp -Ereignis und einem-EreignisA KeyEventArgs is passed with each KeyDown and KeyUp event. Ein KeyEventArgs gibt an, ob eine Modifizierertaste (STRG, UMSCHALT oder alt) zusammen mit einem anderen Schlüssel gedrückt wurde.A KeyEventArgs specifies whether any modifier keys (CTRL, SHIFT, or ALT) were pressed along with another key. (Diese Modifiziererinformationen können auch über die ModifierKeys -Eigenschaft Control der-Klasse abgerufen werden.)(This modifier information can also be obtained through the ModifierKeys property of the Control class.)

Legen Handled Sie true auf fest, KeyPress um das Ereignis abzubrechen.Set Handled to true to cancel the KeyPress event. Dadurch wird verhindert, dass das Steuerelement die Tastenkombination verarbeitet.This keeps the control from processing the key press.

Hinweis

Einige Steuerelemente verarbeiten bestimmte Tastenkombinationen auf KeyDown.Some controls will process certain key strokes on KeyDown. Beispielsweise verarbeitet RichTextBox die EINGABETASTE, bevor KeyPress aufgerufen wird.For example, RichTextBox processes the Enter key before KeyPress is called. In solchen Fällen kann das KeyPress Ereignis nicht abgebrochen werden, und es muss stattdessen der Schlüssel Strich von KeyDown abgebrochen werden.In such cases, you cannot cancel the KeyPress event, and must cancel the key stroke from KeyDown instead.

Weitere Informationen zum Ereignis Modell finden Sie unter behandeln und Auswerfen von Ereignissen.For information about the event model, see Handling and Raising Events.

Konstruktoren

KeyPressEventArgs(Char)

Initialisiert eine neue Instanz der KeyPressEventArgs-Klasse.Initializes a new instance of the KeyPressEventArgs class.

Eigenschaften

Handled

Ruft einen Wert ab, der angibt, ob das KeyPress-Ereignis behandelt wurde, oder legt diesen fest.Gets or sets a value indicating whether the KeyPress event was handled.

KeyChar

Ruft das Zeichen ab, das der gedrückten Taste entspricht, oder legt dieses fest.Gets or sets the character corresponding to the key pressed.

Methoden

Equals(Object)

Ermittelt, ob das angegebene Objekt und das aktuelle Objekt gleich sind.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Gilt für:

Siehe auch