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
Im folgenden Beispiel wird veranschaulicht, KeyPressEventArgs wie die Tasten gezählt werden, während sie gedrückt werden, und um die Ergebnisse nach jeder Taste anzuzeigen. Handled wird dann auf "true" festgelegt, um das Betriebssystem daran zu halten, den Schlüssel weiter zu verarbeiten. Im Beispiel wird davon ausgegangen, dass ein Formular mit einer TextBox Position darauf platziert wird.
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. Sie müssen auch den Ereignishandler festlegen. Sie können dies 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
A 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 eine 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 steht vor jedem KeyPress Ereignis, wenn der Benutzer eine Taste drückt, und ein KeyUp Ereignis tritt auf, wenn der Benutzer eine Taste losgibt. Wenn der Benutzer eine Taste gedrückt hält, treten Duplikate KeyDown und KeyPress Ereignisse jedes Mal auf, wenn das Zeichen wiederholt wird. Ein KeyUp Ereignis wird nach der Veröffentlichung generiert.
Bei jedem KeyPress Ereignis wird eine KeyPressEventArgs übergeben. Eine KeyEventArgs wird mit jedem KeyDown 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 fest, dass true das KeyPress Ereignis abgebrochen wird. Dadurch wird das Steuerelement daran gehindert, die Taste zu verarbeiten.
Hinweis
Einige Steuerelemente verarbeiten bestimmte Tastenstriche auf KeyDown. Verarbeitet z. B. die EINGABETASTE, RichTextBox bevor KeyPress sie aufgerufen wird. In solchen Fällen können Sie das KeyPress Ereignis nicht abbrechen und müssen stattdessen den Tastenstrich KeyDown abbrechen.
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) |