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 :

ComboBox garder la valeur en appuyant sur entrer


Sujet :

Windows Forms

  1. #1
    Débutant
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Points : 94
    Points
    94
    Par défaut ComboBox garder la valeur en appuyant sur entrer
    Bonjour,

    je veux en appuyant sur entrer lors du choix dans le menu defilant d'un comboBox reste inchangeable, je fais comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
     private void comboBox5_KeyDown(object sender, KeyEventArgs e)
            {
                Control next;
                next = null;
     
     
                if (e.KeyCode == Keys.Enter)
                { comboBox5.DroppedDown = !comboBox5.DroppedDown;
     
                    comboBox5.EndUpdate();}
     
                else
                    if (e.KeyCode == Keys.Up)
                    {
                        if (!comboBox5.DroppedDown)
                            next = this.GetNextControl(sender as Control, false);
                        if (next != null)
                            next.Focus();
                    }
                    else
                        if (e.KeyCode == Keys.Down)
                        {
                            if (!comboBox5.DroppedDown)
                                next = this.GetNextControl(sender as Control, true);
                            if (next != null)
                                next.Focus();
     
                        }
            }

    ce code permet effectivement la manipulation des comboBox a l'aide uniquement des touches UP,Down et enter, mais j'ai eu un énorme problem, c'est quand j'appuy sur enter le menu defilant qui apparait, et quand je choisis et je passe au 2ème comboBox, la valeur choisi dans le comboBox1 change et passe a la valeur suivante. je sais pas si j'ai bien exprimé le problem, mais je veux quand j'appay sur enter pour le choix d'un item du comboBox, la valeur du comboBox reste inchangé, merci infiniment

  2. #2
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    Tu veux seulement desactive l'appui de la touche Enter?

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 304
    Points : 405
    Points
    405
    Par défaut
    que fairais tu sans moi?
    Astuce : e.SuppressKeyPress = true;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
     private void comboBox5_KeyDown(object sender, KeyEventArgs e)
            {
                Control next;
                next = null;
     
     
                if (e.KeyCode == Keys.Enter)
                { 
                    comboBox5.DroppedDown = !comboBox5.DroppedDown;
                    e.SuppressKeyPress = true;
                }
               else
                    if (e.KeyCode == Keys.Up)
                    {
                        if (!comboBox5.DroppedDown)
                            next = this.GetNextControl(sender as Control, false);
                        if (next != null)
                            next.Focus();
                        e.SuppressKeyPress = true; 
                    }
                    else
                        if (e.KeyCode == Keys.Down)
                        {
                            if (!comboBox5.DroppedDown)
                                next = this.GetNextControl(sender as Control, true);
                            if (next != null)
                                next.Focus();
                            e.SuppressKeyPress = true; 
                        }
            }
    PS : ça résoud aussi le problème du double DroppedDown ^^

Discussions similaires

  1. Utiliser Worksheet_Change sans appuyer sur Entrer
    Par Toops dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 29/08/2008, 15h17
  2. Réponses: 3
    Dernier message: 28/03/2008, 16h51
  3. Incrémentation d'un valeur en appuyant sur un boutton
    Par Markz dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/12/2006, 00h26
  4. ne pas soumettre le formulaire en appuyant sur "entrer"
    Par pekka77 dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 31/08/2006, 13h40
  5. Réponses: 9
    Dernier message: 10/11/2005, 23h31

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