Recuperer la valeur de ComboBox [Résolu]

cs_algsoft 8 Messages postés lundi 25 décembre 2000Date d'inscription 22 décembre 2008 Dernière intervention - 10 déc. 2008 à 13:10 - Dernière réponse : cs_algsoft 8 Messages postés lundi 25 décembre 2000Date d'inscription 22 décembre 2008 Dernière intervention
- 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 

5 réponses

Répondre au sujet
kerma26 37 Messages postés vendredi 11 mai 2007Date d'inscription 20 août 2009 Dernière intervention - 10 déc. 2008 à 17:13
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de kerma26
kerma26 37 Messages postés vendredi 11 mai 2007Date d'inscription 20 août 2009 Dernière intervention - 10 déc. 2008 à 13:58
0
Utile
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
cs_algsoft 8 Messages postés lundi 25 décembre 2000Date d'inscription 22 décembre 2008 Dernière intervention - 10 déc. 2008 à 15:49
0
Utile
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
cs_algsoft 8 Messages postés lundi 25 décembre 2000Date d'inscription 22 décembre 2008 Dernière intervention - 10 déc. 2008 à 16:57
0
Utile
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
cs_algsoft 8 Messages postés lundi 25 décembre 2000Date d'inscription 22 décembre 2008 Dernière intervention - 17 déc. 2008 à 20:57
0
Utile
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.