Recuperer la valeur de ComboBox [Résolu]

Messages postés
8
Date d'inscription
lundi 25 décembre 2000
Dernière intervention
22 décembre 2008
- - Dernière réponse : cs_algsoft
Messages postés
8
Date d'inscription
lundi 25 décembre 2000
Dernière intervention
22 décembre 2008
- 17 déc. 2008 à 20:57
Bonjour;
j'ai un p'tit soucie avec le C# pour l'utilisation d'une combobox.
En effet, quand je recupere la valeur selectionné apartir de la comboBox ,et la comparer avec une autre valeur de type int ;une erreur va generer ,et voici l'éreur     "Specified cast is not valid."
code:
if ((double)comboBox1.Items[comboBox1.SelectedIndex] == 0.1)
            j = 0;
MessageBox.Show("j=" + j + "\n a=" + comboBox1.Items[comboBox1.SelectedIndex]);
merci d'avance.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
37
Date d'inscription
vendredi 11 mai 2007
Dernière intervention
20 août 2009
3
Merci
Oui normal que tu ne passe pas dans ta condition puisque tu lui demande de comparer le numéros de ta liste de comboBox et cela ne peut-être qu'un entier, en clair :
tu as ta comboBox avec tes items dedans :
-choix1 -> va correspondre à 0 pour ton SelectedIndex
-choix2 -> va correspondre à 1
....
Donc pour ce que tu veux faire il bien que tu compare le contenu de ce choix, donc de tête ça va donner un truc du genre :

if ( (double.Parse(comboBox1.SelectedIndex.ToString())) == 0.1 )
          j++;

Comme ça là tu prend la valeur de ton choix que tu convertie en String (avec ToString()), pour pouvoir la convertir en double (avec double.Parse()), pour enfin pouvoir la comparer avec ton 0.1.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de kerma26
Messages postés
37
Date d'inscription
vendredi 11 mai 2007
Dernière intervention
20 août 2009
0
Merci
Salut,

Oui je crois que ton cast n'est pas bon :
if ((double)comboBox1.Items[comboBox1.SelectedIndex] == 0.1)
je crois que c'est plutôt comme tu as oublié des parenthèses :
if ((double)(comboBox1.Items[comboBox1.SelectedIndex]) == 0.1)
ou sinon essai de parser la valeur de ta comboBox, un truc du style :
if( (double.Parse(string)  == 0.1 );
Commenter la réponse de kerma26
Messages postés
8
Date d'inscription
lundi 25 décembre 2000
Dernière intervention
22 décembre 2008
0
Merci
J'ai un autre pb aussi;
voici le code :
decimal a,b;
Valeur[] tab = (Valeur[])tabList.ToArray().Clone();//tab est un tableau de type structure valeur qui a deux param X et Y
 a = FonctionsStatistiques.A(tab, tabList.Count);/*Appelle de la fonction A*/
 b = FonctionsStatistiques.B(tab, tabList.Count);/*Appelle de la fonction B*/
for (int k = 0; k < tabList.Count; k++)
    tabybar[k] = a + b * tab[k].X;

Erreur :
Object reference not set to an instance of an object.
Commenter la réponse de cs_algsoft
Messages postés
8
Date d'inscription
lundi 25 décembre 2000
Dernière intervention
22 décembre 2008
0
Merci
merci pour votre réponse [../auteur/KERMA26/1059292.aspx kerma26];
j ai essayer avec ça et le problème de cast est réglé :
if(comboBox1.SelectedIndex == 0.1)
        j=j+1;
mais le programme n'exécute jamais la condition ,la valeur de j ne change pas pourtant la condition est verifié.
Commenter la réponse de cs_algsoft
Messages postés
8
Date d'inscription
lundi 25 décembre 2000
Dernière intervention
22 décembre 2008
0
Merci
merci beaucoup.
Commenter la réponse de cs_algsoft

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.