Réattribution des touches de fonction

Résolu
cs_micounet Messages postés 5 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 11 juin 2008 - 10 juin 2008 à 18:24
cs_micounet Messages postés 5 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 11 juin 2008 - 11 juin 2008 à 15:19
Bonjour,
En C#, est il possible de réattribuer les touches de fonction de F1 à F12 pour piloter certaines fonctions de mon application.
En clair, quand je presse la touche F1, je ne voudrai  pas que ce soit l'aide qui s'ouvre, mais je voudrais  remplir une zone de texte avec des caractères  que j'aurai défini à l'avance pour chaque touche de F1 à F12. Je veux éviter l'utilisation des raccourcis classiques (ctrl + un autre caractère) car une personne handicapée utilisera cette petite application.
Une précision importante, je débute en programmation et j'ai quelque fois du mal à décrypter certains exemples ou réponses trouvés sur les forums quand ils ne sont pas simples et clairs.
Merci de votre comprèhension et de votre collaboration.

4 réponses

SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
11 juin 2008 à 13:31
Hello,

Ca ne devrait pas être trop compliqué :
Met la propriété KeyPreview de ta Form à true, et enregistre-toi à l'événement KeyUp.

Ensuite, dans la méthode appelée par l'événement KeyUp, fais quelque chose du genre :

private void Form1_KeyUp(object sender, KeyEventArgs e)
{
    switch (e.KeyCode)
    {
        case Keys.F1:
            MessageBox.Show("F1 pressed");
            break;
        case Keys.F2:
            MessageBox.Show("F2 pressed");
            break;
        //Etc...
    }
}

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
3
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
11 juin 2008 à 15:11
D'accord,

Dans ce cas, il faut aller chercher un peu plus bas niveau pour faire ce que tu veux.

Il  a une source de seb qui explique comment capturer les événements claviers :
http://www.csharpfr.com/codes/CREEZ-VOS-PROPRES-RACCOURCIS-CLAVIER-NIVEAU-SYSTEME_33196.aspx

et une autre source permettant de simuler des entrées claviers :
http://www.csharpfr.com/codes/SIMULER-SAISIE-CLAVIER-VERS-AUTRE-APPLICATION_43081.aspx

Avec ces deux sources, tu devrais être capable de te débrouiller.

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
3
cs_micounet Messages postés 5 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 11 juin 2008
11 juin 2008 à 14:41
Bonjour SharpMao,
Merci de ta réponse rapide et très claire, ça marche. Mais en fait cela est plus compliqué. Je n'ai pas été assez clair.
J'aimerai dans bloc note ou n'importe quelle application pouvoir insérer du texte en utilisant les touches de fonction. Exemple je suis sous bloc note, je presse la touche F1 j'insère mon Nom, F2 mon Prénom, F3 mon Adresse, ect...
Penses tu que c'est possible de désactiver ces touches pour toutes les aplications tournant sauf la mienne quand mon appli est lancée?
Merci encore de ton aide.
0
cs_micounet Messages postés 5 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 11 juin 2008
11 juin 2008 à 15:19
Bonjour,
Merci pour ces deux infos, je viens de regarder rapidement et je penses que c'est pas mal. Si je n'y arrive pas, je me permettrait de te solliciter encore si tu le permet.
Encore merci
0
Rejoignez-nous