begin process at 2010 02 10 04:39:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Algorithme

 > 

Maths

 > 

Switch case imbriqués


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Switch case imbriqués

mercredi 1 avril 2009 à 09:10:20 | Switch case imbriqués

bigger

Bonjour à tous,

J'ai une forme avec plusieurs Groupbox contenant chacuns plusieurs boutons. Lorsque j'appui sur un bouton, je récupère le Tag du groupbox et du bouton lui-même pour traiter ensuite l'évènement dans un timer. Et c'est dans cette routine que j'ai un problème de switch-case imbriqué:

switch (TagGpb)
            {
                case 1: switch (TagButton)
                    {
                        case 1: ...; break;
                        case 2: ...;break;
                        case 3: break;
                        case 4: break;
                        case 5: break;
                        case 6: break;
                        case 7: break;
                        case 8: break;
                        case 9: break;
                        case 10: break;
                        case 11: break;
                        case 12: break;
                        case 13: break;
                        case 14: break;
                        case 15: break;
                        case 16: break;
                        case 17: break;
                        case 18: break;
                        case 19: break;
                        case 20: break;
                        case 21: break;
                        case 22: break;
                        case 23: break;
                        case 24: break;
                        default: break;
                    }
                   
                case 2: switch (TagButton)
                    {
                        case 1: break;
                        case 2: break;
                        case 3: break;
                        case 4: break;
                        case 5: break;
                        case 6: break;
                        case 7: break;
                        case 8: break;
                        case 9: break;
                        case 10: break;
                        case 11: break;
                        case 12: break;
                        default: break;
                    }.....

Le compilateur génère cette erreur:  "erreur CS0163: Le contrôle ne peut pas passer d'une étiquette case ('case 1:') à une autre"

Est-ce que ce type d'erreur est déjà arrivé à qqun et si c'est le cas comment pourrais-je la contourner?

Merci.

mercredi 1 avril 2009 à 09:43:46 | Re : Switch case imbriqués

GillouXman

sincérement je pense que ce serait plus propre et plus lisible d'appeler une méthode dans chaque case du prermier niveau

switch (TagGpb)
            {
                case 1: "yourStuff"
                    {
                        yourMethodforYourStuff()           
                        default: break;
                    }
                   
                case 2: "someOtherStuff"
                    {
                     
yourMethodforsomeOtherStuff()   
                        default: break;
                    }.....



ou même

switch (TagGpb)
            {
                case 1: "yourStuff"
                    {
                        yourMethod("yourStuff")           
                        default: break;
                    }
                   
                case 2: "someOtherStuff"
                    {
                     
yourMethod("someOtherStuff")  
...



mercredi 1 avril 2009 à 10:12:30 | Re : Switch case imbriqués

ed73

Réponse acceptée !

Ce que tu écris n'est pas correct, ça c'est mieux si tu tiens absolument à imbriquer les switch

switch(TagGpb)
{
   case 1:
   {
      switch(TagButton)
      {
         case 1:...;break;
         case 2:...;break;
      }
      break;
   }
   case 2:
    {
      switch(TagButton)
      {
         case 1:...;break;
         case 2:...;break;
      }
      break;
    }
}



Cette discussion est classée dans : erreur, case, break, switch, imbriqués


Répondre à ce message

Sujets en rapport avec ce message

switch, c# [ par manou_slai ] slt,je veux utiliser switch avec une chaine de caractèresj'ai tapé ce code :switch (s){ case "0": op = "Nouveau"; case "1": op = "Renouvel Switch case Bug ? [ par bip98 ] Je comprends vraiment pas..j'ai ce code: foreach(char c in Text_affiche)   {     fichier=@"D:\TIP_Info\Shema_images\Lettre";< Réutiliser une fonction [ par piep14 ] Bonjour, j'ai un dernier ptit problème. J'ai une fonction dans la classe parametre qui lit les valeurs de mon fichier XML et les affiches dans des ch treeview [ par akira3 ] y ai un petit problème avec un treeview.chacun de mes nones ne peut etre cliqué qu'une seule fois.La première fois tt marche à merveille mais la secon probleme switch case [ par yohan49 ] salut les gars , je voudrais savoir comment faire un switch quand le chois est multibpleswitch (var){case 0:........breack;case 1 ou 2:.........breack Resolution d'opérations mathématique [ par iow4 ] Bonjour, j'aimerais creer une fonction qui prend comme parametre un int[] de  nombre et un nombre et qu'elle sorte toutes les opérations possible avec Probleme de conversion de byte pour lecture par un serveur [ par Liverion ] Bonjour,je voudrais ameliorer un programme que j'ai concu, qui fonctionne mais qui est un peu lourd :Je dois envoyer a un serveur des donnees pour une click de souris [ par soussous78 ] Bonjour a tous,J'ai un petit problème sur c#Je recherche comment simuler un clic de souris..Je m'explique :J'ai une application qui déplace la souris à propos du champs date [ par medinfo87 ] salut tt le monde ,mon problème dans ce code si dessous est le comportement de l'affichage de dateje veux l'afficher comme suis : 2009/mars/11avec mar


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,265 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales