User soll Form während Laufzeit erstellen/bearbeiten können. Wie abspeichern und wieder laden?

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von John422.

    User soll Form während Laufzeit erstellen/bearbeiten können. Wie abspeichern und wieder laden?

    Hallo,

    in meinem Programm soll der User die Möglichkeit erhalten, eine eigene Eingabeform mit ein paar Eingeschränkten Controls (Textbox, ComboBox, Label / je mit Name, Größe, Position, TabIndex) frei selbst gestalten zu können.

    Die eingeschränkten Funktionen des "Editors" muß ich selbst programmieren - kein Ding.

    Aber wie kann ich die Form möglichst einfach in einem String (in einer externen Datenbank) abspeichern und wieder laden, ohne mich um selbst um eine Datenstruktur und einen Reader dafür kümmern zu müssen? Das ganze ist ja schon irgendwie Bestandteil von dotNet...da wird ja auch aus meiner "exe" später wieder eine Form geladen.

    Viele Dank

    John

    John422 schrieb:

    in meinem Programm soll der User die Möglichkeit erhalten, eine eigene Eingabeform mit ein paar Eingeschränkten Controls (Textbox, ComboBox, Label / je mit Name, Größe, Position, TabIndex) frei selbst gestalten zu können.
    Du möchtest also den Form-Designer des VisualStudios in vereinfachter Form nachprogrammieren.

    John422 schrieb:

    Das ganze ist ja schon irgendwie Bestandteil von dotNet.
    Der FormDesigner ist Bestandteil des VisualStudios. Mit VisualStudio entwickelt man Programme.
    Die Funktionalität des VisualStudios steht den entwickelten Programmen nicht zur Verfügung.

    Ist wie wenn ein Betonmischer verwendet wurde, um ein Haus zu bauen.
    Das fertige Haus enthält deswegen nicht einen Betonmischer.

    Also wenn du im programm einen selbstgebastelten FormDesigner haben willst, musste dich tatsächlich um alles selber kümmern: Datenmodell, laden, speichern, (grafisch) manipulieren.
    Da im/vom Designer nur Control-Code erzeugt wird, der Abweichungen von den Defaultwerten beschreibt, Du aber bei der Laufzeitgenerierung keine Defaultwerte hast, musst Du einen eigenen Weg gehen. Letztenendes musst Du alle Werte ermitteln, die für Deinen Designer relevant sind und diese dann eigens serialisieren. Ob mit JSON, XML oder was anderem Standardisierten, ist dann wohl wurscht, Hauptsache ein String kommt dabei raus - den Du ggf. noch vor dem Schreiben in die DB komprimieren lassen kannst.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.