none
simplifier mon code en c#

    Question

  •                         label1.Visible = false;
                            label2.Visible = false;
                            label3.Visible = false;
                            label4.Visible = false;
                            label5.Visible = false;
                            label6.Visible = false;
                            label7.Visible = false;
                            label8.Visible = false;
                            label9.Visible = false;
                            label10.Visible = false;
                            label11.Visible = false;
                            label12.Visible = false;
                            label13.Visible = false;
                            label14.Visible = false;
                            label15.Visible = false;
                            label16.Visible = false;
                            label17.Visible = false;
                            pictureBox2.Visible = false;
                            pictureBox3.Visible = false;
                            pictureBox4.Visible = false;
                            pictureBox5.Visible = false;
                            pictureBox6.Visible = false;
                            pictureBox7.Visible = false;
                            pictureBox8.Visible = false;
                            pictureBox9.Visible = false;
                            pictureBox10.Visible = false;
                            pictureBox11.Visible = false;
                            pictureBox12.Visible = false;
                            pictureBox13.Visible = false;
                            pictureBox14.Visible = false;
                            pictureBox15.Visible = false;
                            pictureBox16.Visible = false;
    
    

    voici mon code je dois répéter cela plusieurs fois y aurait _il une solution pour simplifier ce code soit sur une boucle ou autre merci de votre aide

    mercredi 14 septembre 2016 08:57

Réponses

  • Vous pouvez mettre vos label par exemple dans un panel. Et faire une itération sur les Children du panel :

    foreach(var ctrl in pn.Children)

    if (typeof(Label) == ctrl.GetType()) (Label)ctrl.Visible = false;

    Label5.Visible = true; // l'exception


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mercredi 14 septembre 2016 09:37
  • Bonjour,

    Dans votre exemple "label5" est tout en minuscule, il faut donc enlever la majuscule au "L".

    Dans l'exemple de Richard Clark, "pn" n'est pas un "object" mais le "panel" qui est le conteneur des labels.

    Il faut que vous remplaciez "pn" par le nom du contrôle qui contient vos labels et supprimer la déclaration de pn comme un "object".

    Si la propriété Children n'existe pas pour votre contrôle, essayez la propriété ".Controls"

    lundi 19 septembre 2016 09:01

Toutes les réponses

  • Vous pouvez mettre vos label par exemple dans un panel. Et faire une itération sur les Children du panel :

    foreach(var ctrl in pn.Children)

    if (typeof(Label) == ctrl.GetType()) (Label)ctrl.Visible = false;

    Label5.Visible = true; // l'exception


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mercredi 14 septembre 2016 09:37
  • N'oubliez pas de marquer comme réponse quand ca vous plait ;-)

    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mercredi 14 septembre 2016 09:38
  • merci beaucoup je vias tester ce code  vous dirais  si cela conviens

    je viens de tester le code mais cela me procure deux erreurs je vous joint la copie d'écran

    mercredi 14 septembre 2016 12:05
  • Bonjour,

    Dans votre exemple "label5" est tout en minuscule, il faut donc enlever la majuscule au "L".

    Dans l'exemple de Richard Clark, "pn" n'est pas un "object" mais le "panel" qui est le conteneur des labels.

    Il faut que vous remplaciez "pn" par le nom du contrôle qui contient vos labels et supprimer la déclaration de pn comme un "object".

    Si la propriété Children n'existe pas pour votre contrôle, essayez la propriété ".Controls"

    lundi 19 septembre 2016 09:01