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 ukazuje použití funkce k KeyPressEventArgs počítání kláves při jejich stisknutí a k zobrazení výsledků po každém stisknutí klávesy. Handled Pak je nastavená na hodnotu true, aby operační systém zabránil dalšímu zpracování klíče. V příkladu se předpokládá formulář, na který je umístěna TextBox hodnota .
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
Je nutné vytvořit novou instanci této třídy. Musíte také nastavit obslužnou rutinu události. Můžete to provést 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
Když je v ovládacím prvku vyvolána zadaná událost, je volána přidružená metoda a aplikace může v reakci na událost spustit kód.
Poznámky
Určuje KeyPressEventArgs znak, který se vytvoří, když uživatel stiskne klávesu. Když například uživatel stiskne shift + K, KeyChar vrátí vlastnost velké písmeno K.
Když KeyPress uživatel stiskne klávesu, dojde k události. Dvě události, které s událostí KeyPress úzce souvisejí, 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íč, dojde při každém opakování znaku k duplicitním KeyDown událostem a KeyPress událostem. Při vydání se vygeneruje jedna KeyUp událost.
S každou KeyPress událostí se předá hodnota KeyPressEventArgs . Předá KeyEventArgs se společně s událostí a KeyDownKeyUp . Určuje KeyEventArgs , jestli byla stisknuta nějaká modifikační klávesa (CTRL, SHIFT nebo ALT) spolu s jinou klávesou. (Tyto informace o modifikátoru lze získat také prostřednictvím ModifierKeys vlastnosti Control třídy .)
Pokud chcete událost zrušitKeyPress
, nastavte Handled na true
hodnotu . Ovládací prvek tak zůstane mimo zpracování stisknutí klávesy.
Poznámka
Některé ovládací prvky budou zpracovávat určité klávesové tahy na KeyDown. RichTextBox Například zpracovává klávesu Enter před KeyPress je volána. V takových případech nelze událost zrušit KeyPress a musíte místo toho zrušit stisknutí klávesy.KeyDown
Informace o modelu událostí najdete v tématu Zpracování a vyvolávání událostí.
Konstruktory
KeyPressEventArgs(Char) |
Inicializuje novou instanci KeyPressEventArgs třídy . |
Vlastnosti
Handled |
Získá nebo nastaví hodnotu označující, zda KeyPress byla událost zpracována. |
KeyChar |
Získá nebo nastaví znak odpovídající stisknuté klávese. |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |