Contrôle panel

Résolu
Signaler
Messages postés
16
Date d'inscription
dimanche 27 mai 2007
Statut
Membre
Dernière intervention
8 juin 2009
-
Messages postés
16
Date d'inscription
dimanche 27 mai 2007
Statut
Membre
Dernière intervention
8 juin 2009
-
bonsoir

bon j'expose mon idée:

je voudré avec le même bouton au premier clic affiché un panel et au second suprimé le 1er panel et afffciher le deuxieme:

SuprPanel1 est une variable bool:

 if (this.SuprPanel1)
            {
                Controls.Remove(panel1);
                Panel panel2 = new System.Windows.Forms.Panel();
                panel2.Name = "panel2";
                panel2.Size = new System.Drawing.Size(100, 100);
                panel2.Location = new System.Drawing.Point(100, 100);
                panel2.BackColor = System.Drawing.Color.Blue;
                this.Controls.Add(panel2);
                this.SuprPanel1 = false;
                this.Panel1_ON = false;
                this.Panel2_ON = true;
            }
            else
            {
                Controls.Remove(panel2);
                Panel panel1 = new System.Windows.Forms.Panel();
                panel1.Name = "panel1";
                panel1.Size = new System.Drawing.Size(100, 100);
                panel1.Location = new System.Drawing.Point(100, 100);
                panel1.BackColor = System.Drawing.Color.Red;
                this.Controls.Add(panel1);
                this.SuprPanel1 = true;
                this.Panel1_ON = true;
                this.Panel2_ON = false;
            }

voila ce qui ce passe quand j'appuie je vois mon premier carré bleu je réappuie je vois le carré rouge apparaître, cependant le bleu ne disparait pas pk?

impossible is nothing!

2 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
Bonsoir,

A vue de nez je dirais que c'est parce que tu utilises à la fois une variable "panel1" en champs membre de la classe et une variable "panel1" locale à la méthode (pareil pour "panel2").

En clair, la référence utilisée ici
  Controls.Remove(panel1);
n'est pas du tout celle définie ici
  Panel panel1 = new System.Windows.Forms.Panel();

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
16
Date d'inscription
dimanche 27 mai 2007
Statut
Membre
Dernière intervention
8 juin 2009

ok j'ai compris mais je vois pas comment faire il faut utiliser quel outil?

impossible is nothing!