Dispaître label horizontal

Résolu
thefolin Messages postés 56 Date d'inscription mercredi 3 octobre 2012 Statut Membre Dernière intervention 13 mai 2015 - 2 oct. 2013 à 10:45
thefolin Messages postés 56 Date d'inscription mercredi 3 octobre 2012 Statut Membre Dernière intervention 13 mai 2015 - 3 oct. 2013 à 08:57
Bonjour a vous

Je viens vers vous pour un probleme de Label qui ne disparaître.

Le context : J'ai crée des label dynamique dans un tableau(60 label)
J'ai décalé les labels pour en faire des colonnes (3 colonnes de 20 label )
J'ai pus avec un timer réussir a faire disparaître mes labels a la vertical
une pars une.

Problème : Je voudrais bien faire disparaître mes labels a l'horizontal une par une.



--

2 réponses

Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
2 oct. 2013 à 18:55
heu..... on ne sait pas précisément comment sonts stocké tes labels, je suppose que c'est un tableau à 1 dimension.

Dans ton cas, et si tu tiens à conserver un tableau (perso je prefère les List<T>), je ferai un tableau à 2 dimensions:

Label[10,6] mesLabels;//par exemple si tu as 10 colonnes et 6 lignes, et tes indices sont directement le X et le Y de ta grille
0
thefolin Messages postés 56 Date d'inscription mercredi 3 octobre 2012 Statut Membre Dernière intervention 13 mai 2015
Modifié par thefolin le 3/10/2013 à 08:58
Bonjour ,

J'ai bien stocké mes labels dans un tableau a 1 dimension.
J'ai réussis a le faire voici mon code.

 private void Horizontal_mot() 
        {
            if (counter_horizontale > 39)
            {
                this.label2[counter_horizontale].Visible = false;
                counter_horizontale -= 39;
                a = 0;

            }
            if (counter_horizontale >= 19)
            {
                this.label2[counter_horizontale].Visible = false;
                counter_horizontale += 20;
            }

            if (counter_horizontale < 19 & a == 1)
            {
                this.label2[counter_horizontale].Visible = false;
                counter_horizontale += 20;
            }
            a = 1;
           
        }

Voici mon timer
 private void timer1_Tick(object sender, EventArgs e)
        {
          
            this.label2[0].Visible = false;
            counter += 1;
        //    counter_horizontale += 1;
            if (counter == 0)

                timer1.Stop();
            label1.Text = counter.ToString() + "s";

            if (counter < 61)
            {
                    Horizontal_mot();
            }
            else { }
        }


Et par exemple voici un utilisation avec un bouton du timer et avec mes label

 
private void button7_Click(object sender, EventArgs e)
        {
            timer1 = new Timer();

          
                    timer1.Tick += new EventHandler(timer1_Tick);
                    timer1.Interval = 250; // 0.25 second
                    timer1.Start();
}



Commenter le code si besoin de plus d'explication
--
0
Rejoignez-nous