Announcement

Collapse
No announcement yet.

GUI Zustand speichern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • GUI Zustand speichern

    Hallo,

    Ich habe eine GUI wo ein User seine Einstellungen macht. Wie kann ich diese Einstellungen speichern. Damit ich dieser wiederherstellen kann?

    VG

  • #2
    ich würd sowas in die Registry (HKEY_CURRENT_USER) speichern:

    http://devhood.com/tutorials/tutoria...utorial_id=264

    Comment


    • #3
      Ich würde das im Verzeichnis %AppData% als XML-Configdatei ablegen

      Comment


      • #4
        Danke erstmal für Deine Antwort.

        Da müsste ich sozusagen für jedes Steuerelement auf der GUI einen Schlüssel generieren?

        Weiß nicht ob ich gleich deswegen was in die Registry schreiben sollte.

        Kann man nicht automatisch eine Art .config File generieren von der gesamten GUI und die ei Bedarf wieder laden?

        Comment


        • #5
          richtig. für jede zu speichernde einstellung wäre ein schlüssel vonnöten.

          wie und vorallem wohin man nun solche informationen speichert, ist geschmackssache. muss ganz ehrlich sagen, dass mit die idee von berhard geyer fast besser gefällt.

          Comment


          • #6
            Ja eine XML Configdatei klingt schon besser.

            Soll ich da eine Klasse schreiben, wo Variablen für zum Beispiel gedrückte Buttons drin sind. Daraus erzeuge ich dann ein Objekt und serialisiere es dann in XML.

            Zum Laden deserialisiere ich es und schau dann welche Buttons zum Beispiel gedrückt wurden sind und rufe dan entsprechend die Ereignisse auf.

            Ich dachte halt vielleicht gibt es schon im .NET 3.5 etwas vorgefertigtes für solche Aufgaben..

            Comment


            • #7
              welche informationen möchtest du speichern? positionen, größen, farben, ...?

              Comment


              • #8
                Hauptsächlich welche Buttons gedrückt wurden und Checkboxen..

                Comment


                • #9
                  ja, ich würd das über ein objekt welches serialisiert wird machen

                  Comment


                  • #10
                    Binary Serialisation,
                    oder
                    Properties.Settings
                    oder
                    IsolatedStorage ...
                    :-)
                    [highlight=c#]
                    private void WriteUserData()
                    {
                    // create an isolated storage stream
                    IsolatedStorageFileStream userDataFile =
                    new IsolatedStorageFileStream("UserData.dat", FileMode.Create);

                    // create a writer to the stream
                    StreamWriter writeStream = new StreamWriter(userDataFile);

                    // write strings to the Isolated Storage file
                    writeStream.WriteLine(string1);
                    writeStream.WriteLine(string2);
                    writeStream.WriteLine(string3);
                    writeStream.WriteLine(string4);
                    writeStream.WriteLine(string5);

                    // Tidy up by flushing the stream buffer and then closing
                    // the streams
                    writeStream.Flush();
                    writeStream.Close();
                    userDataFile.Close();
                    }
                    private void ReadUserData()
                    {
                    // create an isolated storage stream
                    IsolatedStorageFileStream userDataFile =
                    new IsolatedStorageFileStream("UserData.dat", FileMode.Open);

                    // create a reader to the stream
                    StreamReader readStream = new StreamReader(userDataFile);

                    // write strings to the Isolated Storage file
                    string1 = readStream.ReadLine();
                    string2 = readStream.ReadLine();
                    string3 = readStream.ReadLine();
                    string4 = readStream.ReadLine();
                    string5 = readStream.ReadLine();

                    // Tidy up by closing the streams
                    readStream.Close();
                    userDataFile.Close();
                    }
                    [/highlight]
                    Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

                    Comment


                    • #11
                      Schau mal bei CodeProject vorbei:

                      http://www.codeproject.com/KB/dotnet/user_settings.aspx

                      könnte hilfreich sein.

                      Gruß
                      Peter

                      Comment

                      Working...
                      X