4 votes

Vérifier si la touche DELETE est enfoncée ?

Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown

Quelle est la valeur clé dont j'ai besoin pour vérifier la clé DELETE à l'aide de e.keyValue ?

12voto

Andy White Points 36586

En KeyEventArgs contient un membre appelé " Code clé "que vous pouvez comparer à la " Clés L'énumération ".

Notez que certaines touches peuvent ne pas déclencher l'événement KeyDown si elles sont gérées par le système de fenêtrage par défaut. Je n'en suis pas sûr, et je ne peux pas le vérifier maintenant, mais il se peut que vous n'obteniez pas l'événement KeyDown pour des touches comme Tab, Delete, Enter, etc.

Vous pouvez généralement faire quelque chose comme ceci (c'est du C#, pas du VB, mais cela devrait être similaire) :

public void MyControl_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Delete)
    {
        // delete was pressed
    }
}

3voto

Hungry Mind Points 113

Si vous définissez Aperçu des clés du formulaire, le formulaire recevra les événements clés avant que l'événement ne soit transmis au contrôle qui a le focus. Par exemple, si vous avez des zones de texte et des boutons sur le formulaire, ce sont normalement eux (le contrôle qui a le focus) qui captureront l'événement de pression de touche. Veillez donc à définir KeyPreview=true

Permet de saisir le code de la clé.

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
    If e.KeyCode = Keys.Delete Then
        'todo
    End If
End Sub

2voto

Dan-o Points 12949

Vérifier le Keys énumération...

2voto

mtrbean Points 833

Comparer e.keyValue con Keys.Delete

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X