KeyPressEventArgs Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt Daten für das KeyPress-Ereignis bereit.
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
- Vererbung
- Attribute
Beispiele
Das folgende Beispiel veranschaulicht die Verwendung von KeyPressEventArgs , um Tasten zu zählen, während sie gedrückt werden, und um die Ergebnisse nach jedem Tastendruck anzuzeigen. Handled wird dann auf TRUE festgelegt, damit das Betriebssystem den Schlüssel nicht weiter verarbeitet. Im Beispiel wird ein Formular mit einem TextBox darauf platzierten Formular angenommen.
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 instance dieser Klasse erstellen. Sie müssen auch den Ereignishandler festlegen. Dies können Sie im Konstruktor für Ihre Klasse tun.
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.
Hinweise
Ein KeyPressEventArgs gibt das Zeichen an, das zusammengesetzt wird, wenn der Benutzer eine Taste drückt. Wenn der Benutzer beispielsweise UMSCHALT+ K drückt, gibt die KeyChar Eigenschaft ein Großbuchstaben K zurück.
Ein KeyPress Ereignis tritt auf, wenn der Benutzer eine Taste drückt. Zwei Ereignisse, die eng mit dem KeyPress Ereignis verbunden sind, sind KeyUp und KeyDown. Das KeyDown Ereignis geht jedem KeyPress Ereignis voran, wenn der Benutzer eine Taste drückt, und ein KeyUp Ereignis tritt auf, wenn der Benutzer einen Schlüssel freigibt. Wenn der Benutzer einen Schlüssel hält, treten bei jeder Wiederholung des Zeichens Duplikate KeyDown und KeyPress Ereignisse auf. Ein KeyUp Ereignis wird bei der Veröffentlichung generiert.
Bei jedem KeyPress Ereignis wird ein KeyPressEventArgs übergeben. Ein KeyEventArgs wird mit jedem KeyDown Und-Ereignis KeyUp übergeben. A KeyEventArgs gibt an, ob alle Modifizierertasten (STRG, UMSCHALT oder ALT) zusammen mit einer anderen Taste gedrückt wurden. (Diese Modifiziererinformationen können auch über die ModifierKeys -Eigenschaft der Control -Klasse abgerufen werden.)
Legen Sie Handled auf fest true
, um das KeyPress
Ereignis abzubrechen. Dadurch wird verhindert, dass das Steuerelement den Tastendruck verarbeitet.
Hinweis
Einige Steuerelemente verarbeiten bestimmte Tastenstriche auf KeyDown. Verarbeitet z. B. die Eingabetaste, RichTextBox bevor KeyPress aufgerufen wird. In solchen Fällen können Sie das KeyPress Ereignis nicht abbrechen und müssen stattdessen den Tastenstrich abbrechen KeyDown .
Informationen zum Ereignismodell finden Sie unter Behandeln und Auslösen von Ereignissen.
Konstruktoren
KeyPressEventArgs(Char) |
Initialisiert eine neue Instanz der KeyPressEventArgs-Klasse. |
Eigenschaften
Handled |
Ruft einen Wert ab, der angibt, ob das KeyPress-Ereignis behandelt wurde, oder legt diesen fest. |
KeyChar |
Ruft das Zeichen ab, das der gedrückten Taste entspricht, oder legt dieses fest. |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |