KeyPressEventArgs Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje data pro událost KeyPress.
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
- Dědičnost
- Atributy
Příklady
Následující příklad znázorňuje použití KeyPressEventArgs kláves k počítání kláves při jejich stisknutí a zobrazení výsledků po každém stisknutí klávesy. Handled je pak nastavena na hodnotu true, aby operační systém dál zpracovával klíč. Příklad předpokládá formulář s umístěnou na TextBox něm.
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
Musíte vytvořit novou instanci této třídy. Musíte také nastavit obslužnou rutinu události. Můžete to udělat v konstruktoru pro vaši třídu.
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
Při vyvolání zadané události v ovládacím prvku je volána připojená metoda a aplikace může spustit kód v reakci na událost.
Poznámky
Určuje KeyPressEventArgs znak, který se skládá, když uživatel stiskne klávesu. Když například uživatel stiskne shift+K, KeyChar vrátí tato vlastnost velká písmena K.
K KeyPress události dojde, když uživatel stiskne klávesu. Dvě události, které úzce souvisejí s KeyPress událostí, jsou KeyUp a KeyDown. Událost KeyDown předchází každé KeyPress události, když uživatel stiskne klávesu, a KeyUp událost nastane, když uživatel uvolní klíč. Když uživatel podrží klíč, duplikuje KeyDown se a KeyPress při každém opakování znaku dojde k událostem. Při vydání se vygeneruje jedna KeyUp událost.
S každou KeyPress událostí se předává.KeyPressEventArgs A KeyEventArgs se předává s každou KeyDownKeyUp událostí. Určuje KeyEventArgs , zda byly spolu s jinou klávesou stisknuty modifikační klávesy (CTRL, SHIFT nebo ALT). (Tyto modifikační informace lze získat také prostřednictvím ModifierKeys vlastnosti Control třídy.)
Nastavte Handled na true zrušení KeyPress události. Díky tomu bude ovládací prvek zpracovávat stisknutí klávesy.
Poznámka:
Některé ovládací prvky budou zpracovávat určité tahy kláves .KeyDown Například RichTextBox zpracuje klávesu Enter před KeyPress zavolání. V takových případech nemůžete událost zrušit KeyPress a místo toho musíte zrušit tah KeyDown klávesy.
Informace o modelu událostí naleznete v tématu Zpracování a vyvolávání událostí.
Konstruktory
| Name | Description |
|---|---|
| KeyPressEventArgs(Char) |
Inicializuje novou instanci KeyPressEventArgs třídy. |
Vlastnosti
| Name | Description |
|---|---|
| Handled |
Získá nebo nastaví hodnotu určující, zda KeyPress byla událost zpracována. |
| KeyChar |
Získá nebo nastaví znak odpovídající stisknutí klávesy. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |