Autor Beitrag
Xardas008
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149

Win 7 Professional x64, Ubuntu 10.04, Windows Server 2008 R2
C#, Visual Studio 2008 Pro, Visual Studio 2010 Ultimate, Eclipse (Java)
BeitragVerfasst: Fr 15.04.11 19:48 
Hallo ihr,

ich habe ein kleines Programm mit einem WebBrowser Objekt, und dieses möchte ich, wenn das Programm geschlossen wird serialisieren um bei einem Neustart des Programms den alten Zustand wieder zu laden.

Dazu habe ich extra die WebBrowser-Klasse abgeleitet und das Attribut [Serializable()] hinzugefügt, aber dennoch fliege ich beim Serialisieren ab, wo er mir sagt das System.Windows.Forms.WebBrowser nicht serialisierbar sei.

Wie kann ich meine Klasse dennoch serialisierbar machen?

Hier noch der Code von meiner Klasse Browser:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
    [Serializable()]
    class Browser : WebBrowser
    {
        static int GlobalID = 0;

        int ID;
        public Browser()
            : base()
        {
            ID = GlobalID++;
        }
    }
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4796
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Fr 15.04.11 20:42 
Hallo,

was genau hast du denn vor?
Alle WinForms Controls lassen sich NICHT serialisieren!

Du kannst nur Daten abspeichern, keine ganzen Steuerelemente!
Beim WebBrowser-Element kannst du also entweder den Pfad zur aktuellen Seite oder aber die Seite selbst (als HTML) abspeichern.
Xardas008 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149

Win 7 Professional x64, Ubuntu 10.04, Windows Server 2008 R2
C#, Visual Studio 2008 Pro, Visual Studio 2010 Ultimate, Eclipse (Java)
BeitragVerfasst: Fr 15.04.11 21:03 
Ich hatte vor, mit meinem Programm die Open Books von Galileo Press zu lesen, ohne in meinem Browser immer nen Bookmark setzen zu müssen. Ok einfach nur die Webseite auf der ich grade bin zu speichern würde im Prinzip auch langen, müsste ich halt immer so lesen, das ich immer oben anfangen kann ohne mir die genaue Position im Text merken zu müssen (das wäre mit Serialisierung kein Problem gewesen weil er ja dann genau an der Stelle wieder eingesprungen wäre)