Récupération des événements claviers [Résolu]

Signaler
Messages postés
7
Date d'inscription
vendredi 17 avril 2009
Statut
Membre
Dernière intervention
4 mai 2009
-
Messages postés
7
Date d'inscription
vendredi 17 avril 2009
Statut
Membre
Dernière intervention
4 mai 2009
-
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

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
40
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 -
Messages postés
7
Date d'inscription
vendredi 17 avril 2009
Statut
Membre
Dernière intervention
4 mai 2009

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 ...
Messages postés
7
Date d'inscription
vendredi 17 avril 2009
Statut
Membre
Dernière intervention
4 mai 2009

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!
Messages postés
7
Date d'inscription
vendredi 17 avril 2009
Statut
Membre
Dernière intervention
4 mai 2009

Autant pour moi, sa fonctionne merci krimog!
Messages postés
7
Date d'inscription
vendredi 17 avril 2009
Statut
Membre
Dernière intervention
4 mai 2009

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.