c# i zmiana zawartości okna po wybraniu opcji

0

Witam,

Piszę program w C# i mam na górze okna menu z buttonów (taka zachcianka), domyślnie włączony jest button 1 i pod menu z buttonów wyświetla się odpowiednia zwartość (inne kontrolki itd), po kliknięciu w button 2 chciałbym aby wyświetliły się inne kontrolki i zawartość itd itd. Jak się robi tego typu rzeczy? Od razu mówię że nie interesuje mnie otworzenie nowego okna i zamknięcie starego, raczej wolałbym coś w tylu swoistego iframe'a albo zmiany widoku? Zawsze mogę nawalić kontrolek jedna na drugą i sterować ich widocznością ale to raczej słabe rozwiązanie....

Bardzo proszę o pomoc.

0

ps. chodzi nawet o samą nazwę bo nie wiem jak to nazwać i wyszukać w google...
PS2. chodzi mi np o zmianę zawartości na pustym polu
user image

0

Najprawdopodobniej chodzi Ci o kontrolkę: TabControl z ustawieniem: Vertical, tak aby zakładki były pionowo.
http://www.codeproject.com/Articles/14298/TabStrip-Control

0

Najlepszym rozwiązaniem będzie zastosowanie klasy:

using System;
using System.Windows.Forms;

namespace Test
{
    class StackedWidget : TabControl
    {
        protected override void WndProc(ref Message m)
        {
            // Hide tabs by trapping the TCM_ADJUSTRECT message
            if (m.Msg == 0x1328 && !DesignMode) m.Result = (IntPtr)1;
            else base.WndProc(ref m);
        }

        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            // You can not change tab page
            if (keyData == (Keys.Control | Keys.Tab) || keyData == (Keys.Control | Keys.Shift | Keys.Tab) || keyData == Keys.Left || keyData == Keys.Right || keyData == Keys.Home || keyData == Keys.End)
                return true;

            return base.ProcessCmdKey(ref msg, keyData);
        }
    }
} 

Po dodaniu tej klasy do projektu i jego skompilowaniu będziesz mógł dodać tą kontrolkę jak każdą inną. Dodatkowo w designerze będą widoczne karty, lecz po uruchomieniu już nie. Karty przełączasz programowa po wciśnięciu odpowiedniego buttona.

0

A jeśli chcesz to robić bardzo na piechotę to pod menu powinieneś mieć np. Panel lub inny kontener, kliknięcie na dany przycisk powoduje podmianę odpowiedniej kontrolki w kontenerze lub ukrycie pozostałych i pokazanie tej właściwej.

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