Forum: PC-Programmierung C#: Programmzustand beim Schließen speichern


von Andreas (Gast)


Lesenswert?

Hallo!
Ich möchte, dass sich mein Programm den Zustand beim Schließen merkt und 
beim nächsten Start wieder lädt.

Wie wird soetwas in C# realisiert?


mfg Andreas

von Thomas E. (thomase)


Lesenswert?

Andreas schrieb:
> Wie wird soetwas in C# realisiert?

protected override void OnClosing(CancelEventArgs e)
{
   //Hier kannst du vor dem Schliessen machen, was du willst.
   base.OnClosing(e);
}

Ich schreib' dann alles in die Registry.

mfg.

von Andreas (Gast)


Lesenswert?

Ok, danke für deine Antwort!

Gibt es im .Net eine Funktion den aktuellen Zustand zu speichern und 
beim nächsten Start wieder zu laden?

Oder bleibt mir die Arbeit alle nötigen Variablen in ein XML oder die 
Registry zu schreiben nicht erspart?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Andreas schrieb:
> Oder bleibt mir die Arbeit alle nötigen Variablen in ein XML oder die
> Registry zu schreiben nicht erspart?

Nein, das bleibt Dir nicht erspart.

von Andreas (Gast)


Lesenswert?

Ok, dann hätte ich noch eine Frage bezüglich Speichervorgang.

In C hätte ich einfach eine Funktion "SaveToXML" erstellt und diese bei 
Klick auf Button "Speichern", beenden von Programm,... aufgerufen.

Für mich stellt sich die Frage wie ich das im (objektorientierten) C# am 
geschicktesten löse? Einfach eine Klasse mit Methode "SaveToXML" 
erstellen und bei Programmstart eine Instanz davon erstellen?

mfg Andreas

von Mars (Gast)


Lesenswert?


von Martin (Gast)


Lesenswert?

Ich habe soetwas für ein Programm auch schon mal benötigt.
Hierzu habe ich alle relevaten Daten in einer eigenen Klasse gehalten.
Diese Klasse habe ich beim Schließen des Programmes in eine binäre Datei
serialisiert.
Beim Neustart des wird die Datei wieder deserialisiert und einem Objekt 
der Klasse zugeordnet.

Also das Sichtwort heißt Serialisierung.

Die Datei sollte Vorzugsweise in AppData gespeichert werden

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.