Switch avec les Items d'une ComboBox [Résolu]

Signaler
Messages postés
24
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
18 mai 2010
-
microraph
Messages postés
24
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
18 mai 2010
-
Bonjour,

je débute (depuis 6 semaines quasiment) dans le langage C# et je bloque un petit peu sur un problème : effectuer un Switch avec les différentes possibilités d'une ComboBox.

En effet, avec une série de if(...) ...; mon résultat est convenable mais il faut que ça fasse un peu plus "pro" et plus beau. Je pensais donc à un switch.

Voici mon code :

int i= 0;
switch ( comboBoxChoixDonnees.Items[i] )
{
case 0 :
comboBoxModeDeChasse.Enabled = true;
break;
case 1 :
comboBoxTypePiege.Enabled = true;
break;
default:
comboBoxTypeObservation.Enabled = true;
break;
}

Quelqu'un peut-il me dire pourquoi j'obtiens les erreurs suivantes :
Pour comboBoxChoixDonnees.Items[i] il me met :
"Erreur 1 La valeur d'un type intégral est attendue "

Pour les différents Case 0, Case 1 etc... il me met :
"Erreur 2 Une valeur de constante est attendue "


Merci beaucoup de votre aide.

2 réponses

Messages postés
61
Date d'inscription
dimanche 5 novembre 2000
Statut
Membre
Dernière intervention
24 février 2010

Salut,

il me semble que ton switch n'est pas bon. Tu fais un switch (comboBoxChoixDonnees.Items[i]) qui doit te renvoyer je ne sais quoi, mais pas un int. Or apres tu fais un case 0 case 1 etc ... Donc il y a peu de chance que ça marche.

Je te conseil plutot de faire un comboBoxChoixDonnees.selectedIndex (pas sûr de la syntaxe), oubien un comboBoxChoixDonnees.SelectedItem.ToString() et tu fais un : case chaine1 case chaine2 .. , en plaçant les bonnes valeurs à la place de chaine1 chaine2 ... bien sûr.
Messages postés
24
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
18 mai 2010

Désolé pour la réponse, si tardive mais j'ai travaillé d'aprem et je viens d'me lever :).


Merci beaucoup pour ton aide. Ca à fonctionner.
Pour faciliter la compréhension à ceux qui risque de se poser la même question, voici le code une fois tes modifs apportées.

switch (comboBoxChoixDonnees.SelectedItem.ToString())
{
case "Chasse" :
comboBoxModeDeChasse.Enabled = true;
break;
case "Piégeage" :
comboBoxModeDeChasse.Enabled = false;
etc......
}

J'ai un peu d'mal avec les selectItems, selectIndex, selectValue etc... car pour moi ils font tous la même chose, et je trouve pas vraiment d'aide concrète. Donc je test... ^^ Merci en tout cas.

Bon week-end