Announcement

Collapse
No announcement yet.

Zwischen modalen Formen elegant wechseln?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zwischen modalen Formen elegant wechseln?

    Guten Abend alle zusammen.

    Ich habe eine Art Hauptform, die beim Start eine modale Form aufruft, in welcher ein paar Einstellungen gewählt werden können. Nachdem diese modale Form fertig ausgefüllt ist (owner = Hauptform), möchte ich eine weitere modale Form anzeigen (owner = Hauptform) usw. . Zusätzlich sollen all diese modalen Formen nicht bei jedem Wechseln neu instanziert werden.

    An dieser zugegeben einfachen Aufgabe sitze ich jetzt schon eine ganze Weile und habe nach einiger Zeit im Netz ein wenig geschaut, aber da fand ich größtenteils nur die typischen Anleitungen wie man eine neue Form anzeigt und ihr irgendwelche Variablen mit gibt.

    Ich habe mir gedacht, dass man das Problem mit Hilfe einer Hilfsklasse lösen könnte, in der alle Formen als Shared (C# Static) in einer Variable gespeichert sind und beim Instanzieren der Klasse einmalig mit instanziert werden.

    Dann habe ich noch eine einfache Prozedur eingefügt, die bei der alten Form die Prozedur Hide() nutzt und die neue Form modal anzeigt.

    Das ganze funktioniert auch - solange man keine Form anzeigen möchte, die schonmal offen war, denn um sie erneut modal anzeigen zu lassen müsste sie erst einmal geschlossen worden sein. Ersetze ich das Hide() durch ein Close() passiert mit der alten Form so ziemlich garnichts.

    Weiß jemand einen Rat? Wahrscheinlich habe ich mich auch einfach nur total verrannt und es gibt einen viel simpleren Weg, das Ganze zu lösen.

    Danke auf jedenfall schonmal im Voraus für das Lesen, des 'trockenen' Textes

  • #2
    Hallo,

    das sieht sehr nach einer Art Assistent aus der beim Start modal durchlaufen werden soll.

    Ich hab Assistenten (bisher) so gelöst:
    • für jeden Schritt ein UserControl
    • ein Array das alle UserControls (des Assistenten) aufnimmt
    • eine modale Form die dann nur 1x angezeigt werden muss
    • bei Navigation durch die Schritte des Assistenten wird das aktuelle UserControl ausgeblendet (Visible = false) und das nächste/vorige eingeblendet


    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Jop es soll so eine Art Assistent werden.
      Dein Vorschlag hört sich ziemlich gut an, darauf bin ich noch garnicht gekommen.
      Ich nehm dann meine jetzigen Formen einfach als Template, dann müsste es Recht fix gehen.

      Danke für den Tip

      Mfg, Myst

      Comment

      Working...
      X