Im Grunde ist mein Projekt eine MDI-Winform-Anwendung, bei der der Benutzer die Oberfläche durch Hinzufügen verschiedener Steuerelemente und Ändern des Layouts anpassen kann. Ich möchte in der Lage sein, den Zustand der Anwendung für jeden Benutzer zu speichern.
Ich habe ziemlich viel gesucht und diese gefunden:
Wie man automatisch speichern und automatisch laden alle Eigenschaften in Winforms C#?
WinForm oder Steuerelemente in Datei speichern
Grundsätzlich von dem, was ich verstehe, ist der beste Ansatz, um die Daten in XML zu serialisieren, aber Winform-Steuerelemente sind nicht serialisierbar, so dass ich Surrogatklassen verwenden würde:
http://www.codeproject.com/KB/dotnet/Surrogate_Serialization.aspx
Muss ich nun für jedes meiner Steuerelemente eine Surrogatklasse schreiben? Ich müsste eine Art rekursiven Algorithmus schreiben, um alle meine Steuerelemente zu speichern. Wie kann ich das am besten bewerkstelligen? Wie würde ich dann alle Fenster wiederherstellen, sollte ich dafür das Memento Design Pattern verwenden? Wenn ich später mehrere Benutzer implementieren möchte, sollte ich dann Nhibernate verwenden, um alle Objektdaten in einer Datenbank zu speichern? Ich versuche immer noch, das Problem zu verstehen, und wenn jemand Erfahrungen oder Ratschläge hat, wäre ich sehr dankbar.
0 Stimmen
Das Formular und die Steuerelemente funktionieren, ich versuche nur, es beständig zu machen.
0 Stimmen
Es gibt auch die Option "Formulareinstellungen", aber sie hat sich für die von mir verwendeten Steuerelemente als nicht robust genug erwiesen.