Entwickler-Ecke

WinForms - C# Inhalt von Labels speichern und bei Neustart wieder laden


FrAmEr - Fr 31.07.15 08:38
Titel: C# Inhalt von Labels speichern und bei Neustart wieder laden
Hallo zusammen,
ich bin dabei ein Programm zu schreiben, welches auf Knopfdruck die Zahl in einem Label um eins erhöht/erniedrigt. Nun würde ich gerne die "hochgezählte" Zahl in dem Label so speichern, dass ich beim nächsten Start der .exe wieder diese Zahl im Label stehen habe und eben nicht den Anfangswert.
Vielen Dank für eure Hilfe!


Th69 - Fr 31.07.15 09:16

Hallo und :welcome:

im deinem myCSharp-Beitrag Label hochzählen durch Button Click [http://www.mycsharp.de/wbb2/thread.php?threadid=115197] wurden dir doch zwei Links gegeben (insbs. der letzte, d.h. [Tutorial] Konfigurationsmodell im .NET Framework [http://www.mycsharp.de/wbb2/thread.php?threadid=6439] hätte ich dir sonst auch als Antwort gegeben).
Womit genau kommst du nicht weiter?


Csharp-programmierer - Fr 31.07.15 09:56

Hi :)

Gehe auf die Menüleiste unter Projekt und dann ganz unten auf Eigenschaften. Es geht ein neues Fenster auf und du gehst dann links auf Einstellungen. Nun erscheint eine Tabelle. Unter Name gibst du den Namen der zu speichernden Variabe / Label ein. Unter Typ dann den Datentyp ( z.B. int). Nun schreibt du folgenden Code in die Funktion des Buttons, der den Text speichern soll. In meinem Fall nenne ich die int - Variable x.


C#-Quelltext
1:
2:
3:
4:
5:
6:
private void button_speichern(object sender, EventArgs e)
{
int y = Convert.ToInt32(this.lbhöchtezahl.Text);
Properties.Settings.Default.x = y;
Properties.Settings.Default.Save();
}


und in das Event wenn das Label dann geladen werden soll:

C#-Quelltext
1:
2:
3:
4:
5:
private void Form1_Load(object sender, EventArgs e)
        {
            string y = Convert.ToString(Properties.Settings.Default.x);
            this.lbhöchtezahl.Text = y;
        }


Ich hoffe, dass ich dir weiterhelfen konnte :)