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 :

raccourci applicatif CTRL+I


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 41
    Points : 26
    Points
    26
    Par défaut raccourci applicatif CTRL+I
    Bonjour,
    je cherche à faire la combinaison de touches CTRL+I à partir de ma fenetre principale Main, qui est une fenetre mdiContainer. Une sorte de raccourcie applicatif.
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            private void Main_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.Control && e.KeyCode == Keys.M)
                {
                    DetailForm frmDetail = new DetailForm(null);
                    frmDetail.ShowDialog(this);
                }
            }
    Par contre ça ne fait rien. Alors que le même code pour mes autres fenetre autre que Main fonctionne.

    Avez vous une idée ?

    MErci

  2. #2
    Membre actif
    Inscrit en
    Octobre 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2007
    Messages : 236
    Points : 233
    Points
    233
    Par défaut
    Ce poste répond à la même question :
    http://www.developpez.net/forums/d76...aison-touches/

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par emmr.rida Voir le message
    Ce poste répond à la même question :
    http://www.developpez.net/forums/d76...aison-touches/
    Le problème de cette solution est que les raccouris des fenetres de l'application seront court circuités. N'y a t'il pas une solution du style keypress juste pour Main ?

  4. #4
    Membre actif
    Inscrit en
    Octobre 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2007
    Messages : 236
    Points : 233
    Points
    233
    Par défaut
    Non, ça va rien "court-circuiter" car surcharger ProcessCmdKey n'affecte que le Form où elle est surcharger et la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return base.ProcessCmdKey(ref msg, keyData);
    passe les paramètres de l'événement vers le chemin naturel des choses.

    Le problème des événements KeyXXXX c'est que le contrôle concerné doit avoir le focus pour se déclencher. Et quand tu intercepte ces événements dans un Form, ce dernier doit être vide pour que ça marche et n'a plus aucun effet à l'ajout d'un contrôle qui accepte le focus.

  5. #5
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    sauf si tu mets la propriété KeyPreview à True et dans ce cas, la form est avertie des messages keyboard meme lorsqu'un controle dispose du focus
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  6. #6
    Membre actif
    Inscrit en
    Octobre 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2007
    Messages : 236
    Points : 233
    Points
    233
    Par défaut
    Oui, c'est vrai
    KeyPreview m'a laissé tombé l'autre jour...

  7. #7
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    si keypreview te fait des infidélités, tu peux toujours sortir la grosse artillerie avec surcharge de WndProc ( sauf que je suis pas sur que quand un controle à le focus, wndProc du parent soit appelé )
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

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

Discussions similaires

  1. [WD-2007] Raccourci Clavier Ctrl+E pour declencher un envoi mail sur Word
    Par Francoislegros dans le forum VBA Word
    Réponses: 2
    Dernier message: 30/10/2014, 23h17
  2. Réponses: 5
    Dernier message: 06/04/2014, 08h16
  3. Problème de création de raccourci clavier (Ctrl+O)
    Par Milowen dans le forum Langage
    Réponses: 1
    Dernier message: 25/10/2006, 18h31
  4. Réponses: 3
    Dernier message: 20/06/2006, 09h59
  5. Réponses: 2
    Dernier message: 04/08/2005, 11h16

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