Ajout de valeur dans un combo bindé [Résolu]

Signaler
Messages postés
666
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
-
Messages postés
666
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
-
Bonjour,

J'ai pas mal sué pour savoir comment ajouter une valeur dans un combo bindé

Non pas comment ajouter la valeur au datasource mais comment gerer le comportement du combo pour savoir quand ajouter une valeur
Ci apres, j'utilise la touche '+' pour dire qu'il faut ajouter la valeur (mais je teste quand meme si elle n'existe pas)

Il reste UN probleme : c'est comment digerer le '+' pour ne pas le faire apparaitre dans le champ apres ajout ?

    private void cmb_post_KeyDown(object sender, KeyEventArgs e)
    {
      if (e.KeyCode == Keys.Add)
      {
        add_Post(((ComboBox)sender).Text);
      }
    }
    // *********************************************************
    private void add_Post(string Post)
    {
       int Cp=0;


       int.TryParse(Post, out Cp);
       if (isNewCp(Cp))
      { 
          DataRow r = dsCP.Tables[0].Rows.Add();
          r["PostCode"] = Cp;
      }
      cmb_post.SelectedValue = Cp;     
    }

3 réponses

Messages postés
666
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
5
Merci,

Tu m'a mis sur la voie, voici ce qu'il faut faire

e.SuppressKeyPress =

true;
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
10
Pas les moyens de vérifier, mais dans la variable 'e' tu n'a pas une propriétés qui ressemble à "Handled" ?  si oui, mets la à true lorsque tu traite l'appui sur "+", elle devrait signifier que l'appui sur la touche à été pris en compte (et que donc il ne devrait pas être interprété ensuite)

<hr size="2" width="100%" />
Working as designed
www.nikoui.fr
Messages postés
666
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
5
Salut

Oui, handled est bien la

Mais si je met a true, ca change rien, le plus est toujours dans les pieds

je tappe 7777+
j'ajoute 7777
et je vois +7777 au retour

private
void cmb_post_KeyDown(
object sender,
KeyEventArgs e)
{

   if (e.KeyCode ==
Keys.Add)
  {
     e.Handled=
true;
     add_Post(((
ComboBox)sender).Text);
  }
}