Den Zustand aller Forms speichern

  • VB.NET
  • .NET (FX) 4.0

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von timonator.

    Den Zustand aller Forms speichern

    Ich weiss nicht ob ich hier richtig bin (Forum Abschnitt) Evtl. Verschieben ???


    Hallo Comunity!
    Ich hab mal wieder eine Frage!
    Ich habe programmiere gerade ein spiel mit vb.net.
    Ich bin jetzt schon fast fertig.
    Also kommen wir mal auf den Punkt xD:
    Wie kann man es umsetzen, das wenn man gerade fertig ist mit spielen, dass man einfach auf einen Button3 drückt, und dann der zustand von ALLEN Forms gespeichert wird?
    Danach soll mann den Gespeicherten punkt per Button4 wieder aufrufen!
    Geht das überhaupt in VB.net ?
    MfG
    Jonny :thumbsup: :thumbsup: :thumbsup:
    Definiere

    Jonnyb170 schrieb:

    zustand von ALLEN Forms
    oder
    Zähle auf, was genau Du gespeichert haben willst.
    Vielleicht ist es sinnvoll, in einer DataTable Deine Werte abzulegen und diese per DataTable.WriteXml(PATH) zu speichern und mit DataTable.ReadXml(PATH) wieder zu laden.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Jonnyb170 schrieb:

    War das so schwer ?
    Meinst Du den Inhalt einer TextBox, also die Property TextBox1.Text :?:
    Habe ich Deine Antwort richtig interpretiert:
    Der Zustand von Form1 ist Form1.
    Der Zustand von Form2 ist Form2.
    Der Zustand von Form3 ist Form3.
    ...
    :?:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:

    Zähle auf, was genau Du gespeichert haben willst.

    Jonnyb170 schrieb:

    Jup
    1. Den Inhalt der TextBox1 von Form1
    2. Den Inhalt der TextBox12 von Form1
    3. Den Inhalt der TextBox3 von Form2
      usw.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Cheffboss schrieb:

    schaue dir mal My.Settings an!

    Jonnyb170 schrieb:

    sonst NICHTS
    Lege pro TextBox einen Setting-String an.
    Projekt -> Eigenschaften -> Einstellungen
    ==> Name vorgeben (z.B. TextBox1)
    Designer Form1, Klick auf TextBox1, Eigenschaften
    ApplicationSettings -> PropertyBinding
    ==> Property Text auswählen, Setting TextBox1 auswählen bestätigen
    feddich.
    Und
    My.Settings beim Herunterfahren speichern in Projekt -> Eigenschaften -> Anwendung aktivieren.
    Bilder
    • Settings1.jpg

      9,74 kB, 538×92, 129 mal angesehen
    • Settings2.jpg

      26,26 kB, 470×346, 127 mal angesehen
    • Settings3.jpg

      26,33 kB, 451×310, 132 mal angesehen
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Um die Einstellungen zurückzusetzen: My.Settings.Reset()
    Um den Wert einer Property zu bekommen: Dim irgendwas As <DatenTypDerProperty> = My.Settings.<Property>
    Um Werte zu speichern:

    VB.NET-Quellcode

    1. My.Settings.<Property> = wert
    2. My.Settings.Save()

    KaskadekingDE on GitHub :)
    Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

    Who cares? ¯\_(ツ)_/¯

    Jonnyb170 schrieb:

    per drücken auf Button speichern kann
    Das ist nicht erforderlich, wenn das Programm bei Beendigung die Settings automatisch speichert.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    speichern geht so : my.settings.deineangelegteproperty = textbox1.text

    laden geht so = textbox1.text = my.settings.deineangelegteproperty
    am besten ins form load, dann gehst automatisch.

    du musst aber erst die settings anlegen, oben rechts auf mein project > einstellungen
    Hier könnte meine Signatur stehen.
    @Jonnyb170
    da muss man noch Folgendes beachten:

    MSDN schrieb:

    Die Reset-Methode überschreibt die die Benutzer betreffenden Einstellungseigenschaften, indem sie den aktuell beibehaltenen Wert der einzelnen Anwendungseinstellungen wiederherstellt.Diese Methode führt die folgenden Aktionen aus:
    • Sie ruft die IApplicationSettingsProvider.Reset-Methode auf jedem Einstellungsanbieter auf, der diese optionale Methode unterstützt.
    • Sie ruft die Reload-Methode auf, um eine Aktualisierung der Einstellungseigenschaftswerte zu erzwingen.
    Reload steht Reset gegenüber, wobei im erstgenannten Fall die letzte Gruppe von gespeicherten Anwendungseinstellungswerten, im letzteren Fall jedoch die gespeicherten Standardwerte geladen werden.
    Off topic:
    Muss ich hier jetzt einfach mal loswerden !
    Jonny, sei bitte nicht sauer, ist nur gut gemeinte Kritik.

    Jonnyb170 schrieb:

    War das so schwer ?

    Vollkommen überflüssiger und leicht unverschämter Kommentar !
    Und JA es ist manchmal schwer, wenn Fragesteller ihre Fragen nicht eindeutig formulieren und auf Nachfragen gar nicht oder nur halb antworten.
    Vernünftige Kommunikation bedarf einer gewissen Aufmerksamkeit und Konzentration, sonst kommt es ständig zu Missverständnissen.

    On topic:
    Da es sich hier ja um Spielstände handelt, nehme ich an, das du auch bestimmen willst, wo die Datei abgelegt wird.
    Wenn ja, hilft dir UserSettingsProvider (Persistieren von UserSettings) weiter.

    Frohes Fest @ all !