IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C#][.Net 2.0]Détecter appui touche direction dans UserControl


Sujet :

Windows Forms

  1. #1
    Membre actif
    Homme Profil pro
    Création de jeux video (en amateur)
    Inscrit en
    Mars 2003
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Création de jeux video (en amateur)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 408
    Points : 260
    Points
    260
    Par défaut [C#][.Net 2.0]Détecter appui touche direction dans UserControl
    Bonjour,

    La question est toute simple :
    Comment faire pour détecter l'appui (KeyDown & KeyUp) d'une touche de direction (style haut, bas, gauche, droite) sur un UserControl qui a le focus ?

    (Et accessoirement, empecher que ces touches ne donnent le focus aux controles suivant et précédents)

    D'avance merci,
    JEG

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    Utilise PreviewKeyDown et PreviewKeyDownEventArgs.IsInputKey

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            private void PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) {
                if (e.KeyCode == Keys.Up) e.IsInputKey = true;
                //...
                }

  3. #3
    Membre actif
    Homme Profil pro
    Création de jeux video (en amateur)
    Inscrit en
    Mars 2003
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Création de jeux video (en amateur)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 408
    Points : 260
    Points
    260
    Par défaut
    ouaip, alors en fait, dans la surcharge de certaine fonctions PreProcessMessage, ProcessCommand & Co, soit le KeyDown est détecté et pas le KeyUp, soit l'inverse, et le KeyCode vaut n'importe quoi (un truc genre : LeftClick|RightClick|MiddleClick|Space), bref du grand n'importe quoi.

    J'ai réussi en surchargent la fonction IsInputKey() du UserControl, là ca marche.


    Merci pour m'avoir mis sur la piste.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/01/2007, 12h47
  2. [Win32] Récupérer un appui touche clavier
    Par elsargento dans le forum MFC
    Réponses: 19
    Dernier message: 06/05/2006, 11h05
  3. [Javascript] appui sur la touche entrée dans une textbox
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 02/01/2006, 11h19
  4. Réponses: 1
    Dernier message: 22/09/2005, 20h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo