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 des KeyPressEventArgs touches pour compter les touches lorsqu’elles sont enfoncées et pour afficher les résultats après chaque appui sur les touches. 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é dessus.
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 instance de cette classe. Vous devez également définir le gestionnaire d’événements. Vous pouvez le faire 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é retourne 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 qu’un KeyUp événement se produit lorsque l’utilisateur relâche une touche. Lorsque l’utilisateur conserve une clé, dupliqué KeyDown et KeyPress des événements 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.
Avec chaque KeyPress événement, un KeyPressEventArgs est passé. Un KeyEventArgs est passé avec chaque événement et KeyUp chaque KeyDown événement. A KeyEventArgs spécifie si les touches de modification (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éfini Handled pour true
annuler l’événement KeyPress
. Cela empêche le contrôle de traiter la touche d’appui.
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 devez annuler le trait de clé à partir de KeyDown la 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) |