Entwickler-Ecke

WinForms - Ausgefüllte Windows Form als BLOB speichern


texMan - Do 18.01.18 11:17
Titel: Ausgefüllte Windows Form als BLOB speichern
Wie kann ich eine Windows Form, mit Controls und Eingaben, in ein BLOB FILE exportieren, um dieses später wieder zu importieren?

Jürgen


Delete - Do 18.01.18 11:37

- Nachträglich durch die Entwickler-Ecke gelöscht -


Th69 - Do 18.01.18 13:10

Möchtest du einen Screenshot abspeichern oder aber die Daten serialisieren?


texMan - Do 18.01.18 16:42

user profile iconTh69 hat folgendes geschrieben Zum zitierten Posting springen:
Möchtest du einen Screenshot abspeichern oder aber die Daten serialisieren?


Es würde ausreichen eine ActiveX-Control auf der Wndows Form zu serialisieren, wenn das nicht geht eben das komplette Fenster.


Th69 - Do 18.01.18 17:17

Als Einstieg kannst du den Artikel Mit XmlSerializer Objekte als XML speichern und laden [https://www.entwickler-ecke.de/viewtopic.php?t=64947] verwenden. Es gibt zwar noch die binäre Serialisierung, aber diese ist nicht so einfach zu pflegen, wie die XML-Serialisierung.
Wichtig ist aber, daß damit Daten serialisiert werden - keine ganzen Controls (denn diese unterstützen das nicht).


texMan - Fr 19.01.18 10:41

Ich schaue mir das mal an.
Vielen Dank für die Hilfe.


texMan - Sa 20.01.18 12:20

Mit der Serialisierung komme ich leider nicht weiter.

Ich möchte folgendes erreichen:
Ich habe eine Windows-Form mit einem AcriveX-Control, das Word-Dokumente anzeigt und editiert.
Das Instanzieren des Active-X control dauert relativ lange (10 sec) und wird jedesmal durchgeführt, wenn ich das Windows-Form öffne.

Meine Idee wäre, dass ich das ActiveX-Control nur einmal am Anfang initialisiere und immer vor dem Schließen der Windows Form als BLOB in einer Datei auf der Festplatte exportiere. Nach dem wiederholten Öffnen der Window-Form wird dannn aus der Datei das ActiveX wieder importiert.

Geht soetwas?


Th69 - Sa 20.01.18 13:34

Nein - außer wenn das ActiveX Control dies selber unterstützt.
Mußt du (bzw. der Anwender) denn das Windows Form Fenster immer wieder neu öffnen?


texMan - Sa 20.01.18 14:11

>>Mußt du (bzw. der Anwender) denn das Windows Form Fenster immer wieder neu öffnen?
Leider ja.


Th69 - Sa 20.01.18 15:17

Kannst du das Fenster dann nicht einfach nur verstecken und beim Wiederöffnen einfach wieder mit Show() anzeigen (+ evtl. noch eine Methode implementieren, welche zusätzlich Werte zurücksetzt o.ä.), s.a. How to hide a form instead of closing it - with C# .Net [http://geekswithblogs.net/TimH/archive/2007/09/13/115323.aspx]?

PS: Besser noch CloseReason abfragen, wie in Hide form instead of closing when close button clicked [https://stackoverflow.com/questions/2021681/hide-form-instead-of-closing-when-close-button-clicked] empfohlen.


texMan - Sa 20.01.18 16:01

Th69 vielen Dank!

Damit kann man vielleicht arbeiten.

Viele Grüße
Jürgen


Th69 - Sa 20.01.18 16:36

Bitte sehr. :)

Daher ist es meistens besser, das eigentliche Problem zu beschreiben anstatt nur eine explizite Lösung zu suchen (s.a. XY problem [https://en.wikipedia.org/wiki/XY_problem]).