Panels in C#

Status
Niet open voor verdere reacties.

EdjeCageman

Gebruiker
Lid geworden
24 okt 2011
Berichten
273
Beste mensen,

Een vraagje betrefd panels.
Ik heb een Form, hier plaats ik 2 verschillende panels op, de ene panel bevat een listview en de andere bevat verschillende knoppen.
Als er op een knop wordt gedrukt, verdwijnt het paneel met de knoppen en komt er op dit paneel een nieuw paneel met andere controls.
Echter het lukte me niet om deze panel te laten verdwijnen en een nieuw panel te showen op het scherm, dus wanneer er op een knop wordt gedrukt verdwijnt alleen de knoppen en wordt er bovenop het lege panel een nieuw panel geplaatst.

Het werkt, maar niet echt netjes volgens mij:P


Het hoofdscherm (Form)
Code:
    class Hoofdscherm : System.Windows.Forms.Form
    {

        public Hoofdscherm()
        {
            this.core = new Core();
            core.setFullscreen().Maximize(this);
            Itemtabel tabel = new Itemtabel();
            this.BackColor = Color.SteelBlue;
            Menuscherm menuscherm = new Menuscherm();
            Controls.Add(tabel);
            Controls.Add(menuscherm);
        }
    }


Panel met de knoppen
Code:
class Menuscherm : Panel
    {
        Button  koop_knop,

        public Menuscherm()
        {
            this.BackColor =Color.White;
            this.Location = new Point(590, 25);
            this.Size = new Size(750, 725);

            koop_knop = new Button();
            koop_knop.Text = "Kaartjes kopen";
            koop_knop.Location = new Point(10, hoogte_knop);
            koop_knop.Size = new Size(knopbreedte, knophoogte);
            koop_knop.Font = new Font(Name, 17, FontStyle.Regular);
            koop_knop.Click += new EventHandler(koopknop_Click);
            hoogte_knop += knophoogte + 10;

//Doe nog meer

            this.Controls.Add(koop_knop);
        }



        public void koopknop_Click(object sender, System.EventArgs e)
        {
            Bla bla= new Bla();
            Controls.Remove(koop_knop);
            //this.Dispose();
        }
    }

Volgende Panel:
Code:
    class Bla: Panel
    {
        public Bla()
        {
            this.BackColor = Color.Beige;
            this.Size = new Size(750, 725);
        }
    }

Op dit moment is het nog niet erg en kan dit gewoon op deze manier werken, maar in een later staduim moet dit panel weg (dispose() I know :P )
Hoe kan ik toch zorgen dat panel A verdwijnt en panel B wordt toegevoegd aan het form?
 
Zo das snel:P
Maar moet ik dan alle panels aan 't form toevoegen en die dan dmv een methode showen en hiden? 't is ook een idee natuurlijk :)
 
Ik heb al een beter idee in de tussentijd gekregen, ik geef het Form aan het kern van mijn systeem mee, hierdoor kan ik het Panel toevoegen en/of weghalen direct op het Form wat een veel betere manier bij mijn situatie is.

Maar toch bedankt voor 't meedenken :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan