Guten Morgen,
ich versuche derzeit ein mehrseitiges Formular zu programmieren, wie es zB der Mircrosoft Installer auch ist. Also das man mehrere Seiten hat, auf denen man Eingaben machen kann und ohne Datenverlust wieder auf die vorherigen Seiten zurückkehren kann.
Jedoch weiß ich nun nicht genau wie ich das realisieren kann, wobei besonders das Hin- und Herspringen zwischen den verschieden Seiten mir Probleme bereitet. Derzeit habe ich es so versucht, dass ich für jede Seite ein eigenes Formular anlege und dieser nur unsichtbar mache, wenn ich eine Seite weitergehe. Um zurückzuspringen, erzeuge ich dann im nächsten Fenster eine neue Instanz vom alten Fenster und mache diese wieder sichtbar, wobei dort jedoch dann die Daten fehlen. Das Problem ist meiner Meinung nach, dass ich da die neue Instanz der Klasse erzeuge.
Die Frage ist nun gibt es vllt eine andere Möglichkeit auf die visible Eigenschaft des vorherigen Fensters zuzugreifen oder gar eine ganz andere Art und Weise so ein Formular zu programmieren?
[FAQ] Mit Forms eine Art Frameset einer Website nachbauen?
ergänzend: du solltest nicht die daten innerhalb der controls halten. damit meine ich, das die einstellungen des users in eine eigene klasse gehören und die controls, das editieren dieser werte zulassen aber nicht für das abspeichern verantwortlich sind.
oder mti tabs uns zwischen denen wechseln
Unsere Website
iPhone Programmierung | Android Programmierung
Hallo Dadriel,
das Thema wurde schon einige Male besprochen. Bitte benutze die Forumssuche (Wizard, Assistent o.ä. )und poste die besten Treffer hier. Vielen Dank!
herbivore
Hab durch Zufall gerade einen sehr guten Artikel dazu gefunden: Creating a Multi-Page Windows Forms Control with Design Time Support
Christian
Weeks of programming can save you hours of planning
Hi!
Gute Ausgangsbasis für Assis scheint mir das TabControl. Das kann man im Designer bequem proggen, und zur Laufzeit dann die Reiter verstecken:
Private Sub ckHideTabs_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs) _
Handles ckHideTabs.CheckedChanged
' interessantes Feature des normalen Tabcontrols: Man kann die Reiter verstecken!
With Me.TabControlX1
If ckHideTabs.Checked Then
.SizeMode = TabSizeMode.Fixed
.ItemSize = New Size(0, 1)
.Appearance = TabAppearance.Buttons
Else
.SizeMode = TabSizeMode.Normal
.ItemSize = New Size(60, 21)
.Appearance = TabAppearance.Normal
End If
End With
End Sub
Der frühe Apfel fängt den Wurm.
Warum erzeugst du dir nicht einfach nen Objekt mit allen relevanten Feldern als Getter und Setter.
Jedenfalls alle möglichen Einstellungsmöglichkeiten die du zur Verfügung stellen willst. 🤔
Dann übergibst du ständig dein Objekt beim nächsten oder vorherigen Formular
und füllst damit die Textboxen, Dropdowns etc pp zur Laufzeit falls im Objekt gesetzt?!
Wenn dein letztes Formular erreicht wurde speicherst du das Objekt, oder die darin enthaltenen Daten in einer DB. Oder wo auch immer 😁
Hallo kubi,
es ist hier nicht sinnvoll mehr als ein Form zu verwenden. Man sollte einen Wizard als nur ein Form (mit mehreren Panels) implementieren.
herbivore