Partage via


KeyPressEventArgs Classe

Définition

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
KeyPressEventArgs
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)

S’applique à

Voir aussi