Classe keypresseventargs

Contenu du snippet

KeyPressEventArgs spécifiant le caractère qui est composé lorsque l'utilisateur appuie sur une touche. Par exemple, si l'utilisateur appuie sur les touches MAJ + K, la propriété KeyChar retourne la lettre K en majuscule.

Un événement KeyPress se produit lorsque l'utilisateur appuie sur une touche. Les deux événements KeyUp et KeyDown sont étroitement associés à l'événement KeyPress. L'événement KeyDown précède chaque événement KeyPress lorsque l'utilisateur appuie sur une touche et un événement KeyUp se produit lorsque l'utilisateur relâche une touche. Lorsque l'utilisateur maintient une touche enfoncée, des événements KeyDown et KeyPress dupliqués se produisent à chaque répétition du caractère. Un événement KeyUp est généré lorsque l'utilisateur relâche la touche.

Une classe KeyPressEventArgs est passée avec chaque événement KeyPress. Une classe KeyEventArgs est passée avec chaque événement KeyDown et KeyUp. Une classe KeyEventArgs spécifie si l'utilisateur a appuyé sur des touches de modification (CTRL, MAJ ou ALT) en plus d'une autre touche. Les informations de ce modificateur peuvent aussi être obtenues par l'intermédiaire de la propriété ModifierKeys de la classe Control.

Définit Handled sur true pour annuler l'événement KeyPress. Ceci empêche que le contrôle ne traite les pressions sur les touches.

Pour plus d'informations sur le modèle d'événement, consultez Événements et délégués.

Remarque sur les plates-formes .NET Compact Framework : L'événement KeyPress relatif aux combinaisons de touches Ctrl+Maj n'est pas fourni. Vous pouvez intercepter à la place les événements KeyDown et KeyUp.

[Visual Basic, C#, C++] L'exemple suivant illustre la comptabilisation des touches sur lesquelles l'utilisateur a appuyé et l'affichage des résultats à la suite de chaque appui sur une touche à l'aide de KeyPressEventArgs. La propriété Handled est ensuite réglée sur true, de manière que le système d'exploitation ne traite pas la touche. Cet exemple part du principe qu'un objet TextBox a été placé sur un formulaire.

Source / Exemple :


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 ;
     }
 }

Conclusion :


Pas de Zip :=); car c'est pas la peine ;=)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.