Récupération des événements claviers

Résolu
Pyroxn Messages postés 7 Date d'inscription vendredi 17 avril 2009 Statut Membre Dernière intervention 4 mai 2009 - 17 avril 2009 à 12:01
Pyroxn Messages postés 7 Date d'inscription vendredi 17 avril 2009 Statut Membre Dernière intervention 4 mai 2009 - 20 avril 2009 à 15:27
Voila j'ai ma form avec différents composants, j'aimerai pouvoir récupérer un événement KeyUp où que je soit dans ma form.

Mon KeyPreview étant a true.

et mon événement récupérer de cette facon :

private void Form1_KeyUp_1(object sender, KeyEventArgs e)
        {
            e.Handled = true;
            switch (e.KeyCode)
            {
                case Keys.F1:
                    MessageBox.Show("F1 pressed");
                    break;
            }
        }     

Mais lorsque j'appuie sur f1 rien ne se passe.

Lorsque je gére mon événement directement sur le textbox ou je me trouve sa marche donc la question est :

est-il possible de récupérer tous les événements de mes différents composants? Si oui comment? 

5 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
17 avril 2009 à 14:57
BONJOUR






Chez moi, ce code marche parfaitement (sachant que j'ai mis une textbox sur ma form) :

public Form1()
        {
            InitializeComponent();
            this.KeyPreview = true;
            this.KeyUp += new KeyEventHandler(Form1_KeyUp);
        }

        void Form1_KeyUp(object sender, KeyEventArgs e)
        {
            e.Handled = true;
            switch (e.KeyCode)
            {
                case Keys.F1:
                    MessageBox.Show("F1 pressed");
                    break;
            }
        }
Tu es bien sûr d'avoir mis le KeyPreview à true ?

Krimog : while (!(succeed = try())) ;
- Quand le règlement tu respecteras, ravis de te répondre on sera -
Pyroxn Messages postés 7 Date d'inscription vendredi 17 avril 2009 Statut Membre Dernière intervention 4 mai 2009
20 avril 2009 à 15:27
Edit : je viens de trouver -_-

Mon événement été déclencher une première fois par la propriété de ma form1 puis été de nouveau déclencher par ma ligne de code ...
Pyroxn Messages postés 7 Date d'inscription vendredi 17 avril 2009 Statut Membre Dernière intervention 4 mai 2009
18 avril 2009 à 00:06
Oui je suis sur par contre j'avais vu this.KeyUp += new KeyEventHandler(Form1_KeyUp); sa sur un autre code et tu le met également mais lorsque je le rajoute dans mon code il me sort une erreur sur Form1_KeyUp dans la parenthése. Maleuresement je n'aurait pas mon code avant lundi sous les yeux donc je peut pas te faire remonter l'erreur.

Je reposterai lundi, en tous cas merci de cette réponse rapide!
Pyroxn Messages postés 7 Date d'inscription vendredi 17 avril 2009 Statut Membre Dernière intervention 4 mai 2009
20 avril 2009 à 09:25
Autant pour moi, sa fonctionne merci krimog!

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

Posez votre question
Pyroxn Messages postés 7 Date d'inscription vendredi 17 avril 2009 Statut Membre Dernière intervention 4 mai 2009
20 avril 2009 à 15:21
J'ai un autre problème lié au même code.

L'événement se déclenche 2 fois. J'arrive pas a comprendre pourquoi si vous avez une solution?

Genre j'appuie sur f1 le messagebox s'affiche une première fois, je valide puis le message box revient une seconde fois.
Rejoignez-nous