Widoczność paneli i comboboxów

0

Witam
Chciałbym stworzyć menu w programie, które wyglądało by mniej więcej tak:

user image.
Czyli panel w prawej części okna zmienia się w zależności od opcji wybranej w lewej części okna.
Jedyny sposób jaki mi przyszedł do głowy to stworzenie trzech osobnych paneli i wyświetlanie ich w zależności od wybranej opcji:

        private void toolStripButtonDane_Click_1(object sender, EventArgs e)
        {
            this.panel1.Visible = true;
            this.panel2.Visible = false;
            this.panel3.Visible = false;
        }

        private void toolStripButtonWypozycone_Click(object sender, EventArgs e)
        {
            this.panel2.Visible = true;
            this.panel1.Visible = false;
            this.panel3.Visible = false;
        }

        private void toolStripButtonHistoria_Click(object sender, EventArgs e)
        {
            this.panel3.Visible = true;
            this.panel2.Visible = false;
            this.panel1.Visible = false;
        }

Jednak nie działa to tak jak powinno. Jeśli nacisnę pierwszy przycisk to pierwszy panel się pojawia, jeśli nacisnę drugi lub trzeci to wszystkie panele są niewidoczne i nic się nie pojawia.
Sytuacja jest identyczna kiedy zamiast paneli używam ComboBoxów.

Jak to naprawić albo czy istnieje jakiś inny sposób na wykonanie takiego menu?

0

Ja to zrobiłem w ten sposób, że stworzyłem osobne UserControls dla każdej opcji w menu ustawień. Przy zmianie opcji w menu wyświetlany jest odpowiedni UserControl w kontrolce Panel. Przy załadowaniu okna żadna kontrolka ustawień nie jest stworzona. Dopiero przy zmianie opcji w menu tworzona jest odpowiednia kontrolka z ustawieniami - to jest tzw. lazy loading. Do opcji menu użyłem TreeView.

1 użytkowników online, w tym zalogowanych: 0, gości: 1