Faire monter une picturebox avec le clavier

Résolu
levg Messages postés 59 Date d'inscription vendredi 19 janvier 2007 Statut Membre Dernière intervention 27 juin 2008 - 16 juil. 2007 à 15:33
levg Messages postés 59 Date d'inscription vendredi 19 janvier 2007 Statut Membre Dernière intervention 27 juin 2008 - 17 juil. 2007 à 13:00
faire monter une picturebox


Sub Form1_KeyPress(ByVal KeyAscii As Long, ByVal Shift As Integer)        If KeyAscii &H26 Then PictureBox2.Top PictureBox2.Top + 20
    End Sub


ne marche pas pour mon programme.est - ce normal ?

7 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
16 juil. 2007 à 16:23
Re,
Regarde si ceci te convient.

    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        Dim top As Integer = PictureBox1.Top
        Dim left As Integer = PictureBox1.Left

        If e.KeyCode = Keys.Down Then top += 20
        If e.KeyCode = Keys.Up Then top -= 20
        If e.KeyCode = Keys.Right Then left += 20
        If e.KeyCode = Keys.Left Then left -= 20

        PictureBox1.Location = New System.Drawing.Point(left, top)

    End Sub , ----
(Coloration syntaxique automatiqu

@+: Ju£i?n
Pensez: Réponse acceptée
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
16 juil. 2007 à 15:46
1) tu ne développes apparemment pas en vb.Net mais en VB6
"Poste" donc là où il convient la prochaine fois s'il te plait


2) la flêche haute a(valeur Keycode 3_) n'est pas reconnue au Kreypress mais au KeyDown
3) la propriété Keypreview de ta Form doit être placée à True
4) ne peut fonctionner si un bouton de commande a le focus
5) on ne dit pas Form1_... mais Form_...
6) code :

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = 38 Then .....
End Sub
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
16 juil. 2007 à 15:48
Correction :
2) la flêche haute (valeur Keycode 38) n'est pas reconnue au Kreypress mais au KeyDown
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
16 juil. 2007 à 15:48
Bonjour à toi aussi (et oui ca se dit encore parait il )
Est tu bien en .NET?

En 2005 l'événement KeyPress est ainsi:

    Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress

    End Sub

@+: Ju£i?n
Pensez: Réponse acceptée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
levg Messages postés 59 Date d'inscription vendredi 19 janvier 2007 Statut Membre Dernière intervention 27 juin 2008
16 juil. 2007 à 16:10
Bonjour

bien sûr que je develloppe en .NET !!!
J'ai visual studio 2005 !!!
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
16 juil. 2007 à 16:16
Salut,
Dans ce cas si tu es en .NET l'evenement KeyPress d'un Form est aisni

Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress

    End Sub

@+: Ju£i?n
Pensez: Réponse acceptée
0
levg Messages postés 59 Date d'inscription vendredi 19 janvier 2007 Statut Membre Dernière intervention 27 juin 2008
17 juil. 2007 à 13:00
merci !!! ça a marché !!!
0
Rejoignez-nous