Probleme KeyDown a cause de controls Shape (vb.net)

cs_magicgus Messages postés 206 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 14 septembre 2011 - 29 août 2010 à 20:35
cs_magicgus Messages postés 206 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 14 septembre 2011 - 17 oct. 2010 à 18:39
Bonjour,

Je souhaite intercepter la pression d'une touche du clavier mais alors que j'ai disposé 2 contrôles "RectangeShape" sur mon formulaire, j'ai l'impression que ceux ci prennent le focus, du coup pas moyen d'intercépter la pression de touche clavier que ce soit sur les shape ou sur la form.

Si je les supprime ça fonctionne.

J'ai essayer de les desactivé (enabled=false) et plein d'autre trucs dans ce genre mais rien n'y fait, je ne comprend pas trop là, si quelqu'un aurait une idée...

Merci


Guillaume

9 réponses

Profil bloqué
30 août 2010 à 21:56
Salut magicgus

Et si tu mets la propriété Keypreview de ta form à True cela donne quoi ?
Normalement c'est pour autoriser ta form à intercepter les touches clavier


La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
0
Profil bloqué
30 août 2010 à 21:56
tu peux faire de même pour tes contrôles

La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
0
cs_magicgus Messages postés 206 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 14 septembre 2011
31 août 2010 à 05:18
Salut Galain,

Merci pour ta réponse, effectivement grace au keypreview je peut enfin intercépté mes pressions de touche mais par contre ce qui est surprenant c'est que ça ne marche justement pas avec les touches qui m'intéraissent, à savoir les touches fléchés...

Etrange tout de même, vb.net me reserve encore bien des mystère, je vient de me réeinstaller vb6 sur 7 (lol) je code 15x plus vite lol

Bref faudra quand même que je commence à devenir copain avec .net un jour...

PS: génial ta signature, j'adore !


Guillaume
0
cs_magicgus Messages postés 206 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 14 septembre 2011
8 oct. 2010 à 09:50
Personne ? je n'ai malheureusement pas encore trouvé de solution à mon problème...

Comment Up un sujet sur vbFrance ?

Guillaume
0

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

Posez votre question
Utilisateur anonyme
9 oct. 2010 à 14:54
Salut,
Tu as essayé l'événement KeyDown et la propriété KeyCode de son argument KeyEventArgs ?
0
cs_magicgus Messages postés 206 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 14 septembre 2011
17 oct. 2010 à 13:37
Absolument, je suis habitué de cette façon de faire q=car je fait encore a l'heure actuelle beaucoup de programmation sous vb6 et j'ai toujours procédé de la sorte...


Guillaume
0
Utilisateur anonyme
17 oct. 2010 à 15:54
et ceci ne donne rien ?
(code pour la flèche de gauche)
    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        If e.KeyCode = Keys.Left Then
            'code
        End If
    End Sub
0
cs_magicgus Messages postés 206 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 14 septembre 2011
17 oct. 2010 à 18:37
non rien de rien, il ne les intercepte pas, j'ai trouve un truc chelou qui marche qu'une fois...

Bizarre
    Private Sub Form1_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles Me.PreviewKeyDown
        Select Case e.KeyCode
            Case Keys.Escape
                End
            Case Keys.Up
                MsgBox("up")
            Case Keys.Down
                MoveMenu(MoveMenuDirection.Bas)
        End Select
        e.IsInputKey = true
    End Sub


Enfin bref je suis pas plus avancé... ^^

Guillaume
0
cs_magicgus Messages postés 206 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 14 septembre 2011
17 oct. 2010 à 18:39
Oups pardon trop con !

ça marche en fait quand ça marcher pas j'avais pas encore mis le e.IsInputKey = true a la fin...
Mais bon j'avois que c'est quand même bizare comme truc, ça pus le bricolo...


Guillaume
0
Rejoignez-nous