Interaction clavier / image

cs_chris_p Messages postés 120 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 27 juillet 2010 - 9 avril 2008 à 14:15
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 10 avril 2008 à 20:34
Bonjour,
Je suis très limité dans le domaine du code et je m'arrache les cheuveux !! 

Je voudrais simplement associer une touche clavier à une action sur ma form.
En effet, je souhaiterai que mon image se décale d'une position vers la doite quand on appuie sur la flèche droite du clavier.
Pour le déplacement de l'image, j'arrive à coder avec un événement de type timer pour l'action, mais je ne sais pas coder :
si touche droite clavier préssée alors xxxxxxxxxxxxx

Quelqu'un peut-il me filer un tit coup de main svp.

Si possible, m'écrire la ligne de code pour, par exemple :
si touche droite clavier préssée alors textbox1.visible = true

Un grand merci d'avance

Chris

3 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
9 avril 2008 à 19:37
Salut
Il te suffit de mettre le paramètre KeyPreview de ta forme à True et de piéger les touches (toutes, pas seulement les lettres/chiffres) dans Form_KeyDown, exemple avec la touche "Fin" :
   If e.KeyCode = Keys.End Then
      Button1.Left += 5
   End If
Si tu dois faire ce genre de test pour plusieurs touches, un Select Case s'impose.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_chris_p Messages postés 120 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 27 juillet 2010
10 avril 2008 à 12:26
Bonjour,

Merci beaucoup pour ta réponse mais g un autre probleme.

Ma commande entière :

Private
Sub Form1_keydown(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load

If e.KeyCode = Keys.End
ThenButton1.Left += 5

End
If

End
Sub

En effet, e.KeyCode
est souligné. Où puis-je déclarer ce keycode pour pour l'instruction passe ?

Merci d'avance.

Chris
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
10 avril 2008 à 20:34
Re
Chez moi, sous VB.2005, la déclaration n'est pas la même que la tienne :
Private

Sub Form1_KeyDown(
ByVal sender
As
Object,
ByVal e
As System.Windows.Forms.KeyEventArgs)
Handles
Me.KeyDown
Quelle version utilises-tu ?
De toute façon, si la méthode est légèrement différente, tu n'as qu'à taper  e.   pour ensuite voir les paramètres qui suivent et qui peuvent ressemblezr aux miens ...
Désolé

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0