Frage von Dominsch, 51

C# - Form "leeren" beim Klick auf Weiter?

Hallo,

was muss ich bei einer C# Form bearbeiten, dass beim Klick auf weiter quasi die ganzen Elemente "unsichtbar" werden und eine "neue Seite" erscheint? Danke :)

Antwort
von CrystalixXx, 30

Da gibt es verschiedene Möglichkeiten. Entweder du rufst eine neue Form auf, welche andere Steuerelemente beinhaltet oder du platzierst all deine Steuerelemente auf ein Panel, welches du bei Klick auf "Weiter" auf Unsichtbar stellst. Im gleichen Schritt kannst du ein anderes Panel sichtbar schalten.

Die erste Variante sieht unschön aus, weil man das schließen und Öffnen der Formulare sieht. Die zweite Variante ist komplizierter im Designer zu handhaben, weil du die Panels ständig in den z-Ebenen verschieben müsstest, um an das darunterliegende zu kommen.

Am besten wäre es also für jede Gruppe von Steuerelementen ein UserControl zu erstellen. Dann blendest du in deiner Form lediglich die UserControls aus respektive ein - ähnlich der Geschichte mit den Panels.

Kommentar von EightSix ,

Beim gewünschten Panel die Methode BringToFront() aufzurufen reicht. Da entfällt die Fummelei mit der Z-Order.

Kommentar von CrystalixXx ,

Ja, sicherlich. Zur Design-Time gibt es auch solche Möglichkeiten, aber je mehr Panels, desto unübersichtlicher wird die Sache.

Antwort
von KnorxyThieus, 31

Ohne, dass ich mich damit jetzt allzu auskennen würde, aber wäre es da nicht sinnvoller, die einzelnen Seiten (quasi Tabs) in einzelne Panels auszulagern?

Unabhängig davon siehe Control.Hide(), Control.Show() und vor allem Control.Visible. MSDN ist da immer eine gute Anlaufstelle. :-)

MfG,
KnorxThieus (m)

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten