KeyPressEventArgs Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit des données pour l'événement 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
- Héritage
- Attributs
Exemples
L’exemple suivant illustre l’utilisation de KeyPressEventArgs pour compter les touches lorsqu’elles sont enfoncées et pour afficher les résultats après chaque appui sur la touche. Handled est ensuite défini sur true pour empêcher le système d’exploitation de traiter davantage la clé. L’exemple suppose qu’un formulaire est TextBox placé sur celui-ci.
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
Vous devez créer une nouvelle instance de cette classe. Vous devez également définir le gestionnaire d’événements. Vous pouvez effectuer cette opération dans le constructeur de votre classe.
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
Lorsque l’événement spécifié est déclenché dans le contrôle, la méthode jointe est appelée et l’application peut exécuter du code en réponse à l’événement.
Remarques
Un KeyPressEventArgs spécifie le caractère qui est composé lorsque l’utilisateur appuie sur une touche. Par exemple, lorsque l’utilisateur appuie sur MAJ + K, la KeyChar propriété renvoie un K majuscule.
Un KeyPress événement se produit lorsque l’utilisateur appuie sur une touche. Deux événements étroitement liés à l’événement KeyPress sont KeyUp et KeyDown. L’événement KeyDown précède chaque KeyPress événement lorsque l’utilisateur appuie sur une touche, et un KeyUp événement se produit lorsque l’utilisateur libère une clé. Lorsque l’utilisateur maintient une clé enfoncée, des événements et KeyPress dupliqués KeyDown se produisent chaque fois que le caractère se répète. Un KeyUp événement est généré lors de la mise en production.
À chaque KeyPress événement, un KeyPressEventArgs est passé. Un KeyEventArgs est passé avec chaque KeyDown événement et KeyUp . Un KeyEventArgs spécifie si des touches de modificateur (Ctrl, Maj ou Alt) ont été enfoncées avec une autre touche. (Ces informations de modificateur peuvent également être obtenues via la ModifierKeys propriété de la Control classe.)
Définissez sur Handledtrue
pour annuler l’événement KeyPress
. Cela empêche le contrôle de traiter l’appui sur la touche.
Notes
Certains contrôles traitent certains traits clés sur KeyDown. Par exemple, RichTextBox traite la clé Entrée avant KeyPress d’être appelée. Dans ce cas, vous ne pouvez pas annuler l’événement KeyPress et vous devez annuler le trait de clé à partir de à la KeyDown place.
Pour plus d’informations sur le modèle d’événement, consultez Gestion et déclenchement d’événements.
Constructeurs
KeyPressEventArgs(Char) |
Initialise une nouvelle instance de la classe KeyPressEventArgs. |
Propriétés
Handled |
Obtient ou définit une valeur indiquant si l'événement KeyPress a été géré. |
KeyChar |
Obtient ou définit le caractère correspondant à la touche activée. |
Méthodes
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |