KeyPressEventArgs Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Adatokat biztosít az KeyPress eseményhez.
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
- Öröklődés
- Attribútumok
Példák
Az alábbi példa bemutatja, hogy a KeyPressEventArgs lenyomott kulcsok megszámlálására és az egyes billentyűk lenyomása utáni eredmények megjelenítésére szolgálnak. Handled ezután igaz értékre van állítva, hogy az operációs rendszer ne dolgozza fel tovább a kulcsot. A példa egy olyan űrlapot feltételez, amelyre egy TextBox adott elemet helyeztek el.
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
Létre kell hoznia egy új példányt ennek az osztálynak. Az eseménykezelőt is be kell állítania. Ezt az osztály konstruktorában teheti meg.
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
Amikor a megadott esemény megjelenik a vezérlőben, a rendszer meghívja a csatolt metódust, és az alkalmazás az eseményre válaszul kódot hajthat végre.
Megjegyzések
Az A KeyPressEventArgs azt a karaktert adja meg, amely akkor áll össze, amikor a felhasználó lenyom egy billentyűt. Ha például a felhasználó lenyomja a SHIFT + K billentyűkombinációt, a KeyChar tulajdonság egy nagybetűs K értéket ad vissza.
Esemény KeyPress akkor következik be, ha a felhasználó lenyom egy billentyűt. Az eseményhez szorosan kapcsolódó két esemény az KeyPress és KeyUpa KeyDown . Az KeyDown esemény minden KeyPress eseményt megelőz, amikor a felhasználó lenyom egy kulcsot, és egy KeyUp esemény akkor következik be, amikor a felhasználó kiad egy kulcsot. Amikor a felhasználó lenyom egy kulcsot, ismétlődő KeyDown és KeyPress események történnek minden alkalommal, amikor a karakter ismétlődik. A kiadáskor egy KeyUp esemény jön létre.
Minden KeyPress eseménynél a rendszer átad egy-egy eseményt KeyPressEventArgs . Mindegyik KeyEventArgs és esemény esetében KeyDownKeyUp a rendszer A-t ad át. Az A KeyEventArgs azt határozza meg, hogy a módosító billentyűket (CTRL, SHIFT vagy ALT) egy másik kulccsal együtt lenyomták-e. (Ez a módosító információ az ModifierKeys osztály tulajdonságán Control keresztül is beszerezhető.)
Állítsa be Handled az true esemény megszakítására KeyPress . Ez megakadályozza, hogy a vezérlő feldolgozsa a billentyűt.
Note
Egyes vezérlők bizonyos billentyűvonásokat feldolgoznak a következőn KeyDown: . Például RichTextBox feldolgozza az Enter billentyűt, mielőtt KeyPress meghívják. Ilyen esetekben nem mondhatja le az eseményt KeyPress , és inkább a billentyűvonást KeyDown kell megszakítania.
Az eseménymodellről további információt az Események kezelése és emelése című témakörben talál.
Konstruktorok
| Name | Description |
|---|---|
| KeyPressEventArgs(Char) |
Inicializálja a KeyPressEventArgs osztály új példányát. |
Tulajdonságok
| Name | Description |
|---|---|
| Handled |
Lekéri vagy beállít egy értéket, amely jelzi, hogy az KeyPress eseményt kezelték-e. |
| KeyChar |
Lekéri vagy beállítja a lenyomott kulcsnak megfelelő karaktert. |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |