Panels designen
-
Hallo,
Ich designe mit dem VS 2008 FormDesigner eine WinForms GUI und habe nun folgendes Problem: Ich habe ein Panel, auf dem sind oben 4 Buttons. Zwei davon heißen z.B. "Objekte" und "Szene". Wenn der Anwender auf "Objekte" klickt, dann sollen unter dem Button die ganzen Controls für Objekte erscheinen. Klickt der Anwender auf "Szene", dann sollen die Objekte-Controlls verschwinden und die Szene-Controlls erscheinen. Ich wollte das so machen, dass ich für jeden Button ein dazugehöriges Panel designe (mit den ganzen Controls drauf) und dann einfach entsprechend das Visible Property setze.
Das praktische Problem ist nun: In der GUI liegen die Panels ja übereinander, ich kann sie also nicht einfach so im VS FormDesigner designen. Wie kann ich das nun so machen, dass ich die ganzen Panels mit dem Designer erstellen kann? Ich dachte mir vielleicht indem ich verschiedene Dateien anlege, aber wie es aussieht geht das nur mit ganzen Forms. Ich brauch aber nur Panels. Wie kann ich also zig Panels designen, wenn die in der fertigen GUI übereinander liegen?
-
Für so etwas eignen sich UserControls ganz gut.
-
Was hat mein Problem mit UserControls zu tun? Ich will brauch doch garkeine neuen Controls?
-
O.o schrieb:
Für so etwas eignen sich UserControls ganz gut.
anders ausgedrückt ... dafür sind UserControls gedacht
-
-
Ich hab das so ähnlich bei mir in der Anwendung. Also bei klick auf eine bestimmte sache zeigt dann in der Form ein bestimmtes Panel an.
Das Problem was du hast ist das die Panels alle übernander liegen aber wer sagt denn das zu Designzeit die Panels übereinander liegen müssen ???
Ich hab die alle nebeneinander und erst zur Laufzeit - da wo du sie per Visible anzeigen lassen möchtest dort fügst du einfach noch die Top Left werte hinzu.
Kannst ja zur Designzeit das Form selbst ja auch grösser machen um alle Panels übersichtlich zu sehen. Die Grösse der Form kann ja auch zur Laufzeit geändert werden.
-
Warum nicht auf schon vorhandenes zurückgreifen?
TabControl und falls nötig mit
Appearance = TabAppearance.FlatButtons
oderAppearance = TabAppearance.Buttons
.