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

Messages postés
24
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
18 mai 2010
- - Dernière réponse : microraph
Messages postés
24
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
18 mai 2010
- 19 févr. 2010 à 10:54
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.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
61
Date d'inscription
dimanche 5 novembre 2000
Statut
Membre
Dernière intervention
24 février 2010
3
Merci
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.

Dire « Merci » 3

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

Codes Sources 144 internautes nous ont dit merci ce mois-ci

Commenter la réponse de rours
Messages postés
24
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
18 mai 2010
3
Merci
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

Dire « Merci » 3

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

Codes Sources 144 internautes nous ont dit merci ce mois-ci

Commenter la réponse de microraph