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

microraph 24 Messages postés dimanche 21 octobre 2007Date d'inscription 18 mai 2010 Dernière intervention - 18 févr. 2010 à 13:22 - Dernière réponse : microraph 24 Messages postés dimanche 21 octobre 2007Date d'inscription 18 mai 2010 Dernière intervention
- 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 

2 réponses

Répondre au sujet
rours 61 Messages postés dimanche 5 novembre 2000Date d'inscription 24 février 2010 Dernière intervention - 18 févr. 2010 à 13:51
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de rours
microraph 24 Messages postés dimanche 21 octobre 2007Date d'inscription 18 mai 2010 Dernière intervention - 19 févr. 2010 à 10:54
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de microraph

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.