Réattribution des touches de fonction [Résolu]

Signaler
Messages postés
5
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
11 juin 2008
-
Messages postés
5
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
11 juin 2008
-
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

Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
62
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)
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
62
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)
Messages postés
5
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
11 juin 2008

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.
Messages postés
5
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
11 juin 2008

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