Salut,
voilà je voudrai savoir si c'est possible de faire quelque chose du genre :
if "la touche "a" du clavier est enfoncé" then
button2.show
end if
Merci :)
Version imprimable
Salut,
voilà je voudrai savoir si c'est possible de faire quelque chose du genre :
if "la touche "a" du clavier est enfoncé" then
button2.show
end if
Merci :)
Bien sûr, tu as l'évènement key_down sur ta fenêtre.
Il te passe en paramètre un objet de type KeyEventArgs qui contient les infos de la touche enfoncée.
Code:
1
2
3
4
5 Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown If (e.KeyCode = Keys.A) Then '' ... End If End Sub
il y'a aussi cette fonction qui permet d'intercepter toutes les touches du clavier meme les touches de commande
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
Return true
End Function
elle permet aussi d'intercepter une touche sur un composant donné.
par exemple je veut intercepter la touche "entrer" sur un textbox de la fenetre
alors je fais
If Me.ActiveControl Is Me.TextBox1 Then
If msg.WParam.ToInt32() = CInt(Keys.Enter) Then
....
End if
End if
Bonjour.
Je ne voudrais pas lancer une polémique mais la solution de Cardi me semble la plus propre.
Je m'explique :
Logiquement tu attends de l'utilisateur qu'il saissise quelque chose au bon endroit (un control, une form) --> ca semble donc logique de gérer l'évènement Keypress sur l'objet concerné.
De plus, ca structure beaucoup plus le code : si tu as 50 controls dans ton formulaire avec des réactions différentes au Keypress, en utilisant ProcessCmdKey ca va te faire un gros tas de 'IF' pour finalement pas grand chose.
Autre point, gérer le Keypress sur le controle te permet de créer ou de supprimer le gestionnaire d'évènement concerné en utilisant les AddHandler et les removeHandler.
A voir donc.
Bojour
Je suis d'accord avec toi, mais une seule chose. je ne suis pas sùr mais je crois que l'evenemt keydown ne capture pas toutes les touches du clavier,et si c'est le cas, on sera forcé d'utiliser cette fonction.
merci.