[TUTORIAL] Die My.Setting Speichermethode

    • VB.NET

    Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

      [TUTORIAL] Die My.Setting Speichermethode

      Da es hin und wieder einige gibt die Fragen wie man Einstellungen speichert stelle ich den Anfängern eine sehr Simple Methode vor.

      Die My.Setting Speichermethode.


      Wir speichern in unserem Beispiel einen Text von der Textbox in My.Settings.


      1.) ihr geht auf rechts in dem Projectmappen Explorer auf My Project.
      2.) In dem Reiter Einstellungen legen wir einen Namen für den Speichernamen fest.
      3.) Dann tragen wir zb ein: Name: Textbox_Settings, Typ: String, Bereich: Benutzer, Wert lassen wir leer.

      Das wars dann könnt ihr eurer Setting einen Wert zuweisen

      Ein kleines Beispiel:

      VB.NET-Quellcode

      1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      2. TextBox1.Text = My.Settings.Textbox_Settings
      3. End Sub
      4. Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
      5. My.Settings.Textbox_Settings = TextBox1.Text
      6. My.Settings.Save()
      7. End Sub


      Beim Form Closing Event wird mit:

      VB.NET-Quellcode

      1. My.Settings.Textbox_Settings = TextBox1.Text

      der Setting einen Wert zugewiesen.


      Mit:

      VB.NET-Quellcode

      1. My.Settings.Save()

      speichern wir die Settings ab.


      Beim Form Load Event wird mit:

      VB.NET-Quellcode

      1. TextBox1.Text = My.Settings.Textbox_Settings

      der gespeicherte Text der Settings der Textbox wieder der gespeicherte Wert zugewiesen.


      Die My.Setting Methode ist eine Methode womit beim Speichern der Setting eine Externe Datei angelegt wird.
      Die My.Setting Datei ist im Ordner "Anwendung---> des jeweiligen Benutzer---> Programmname" vorhanden.

      Ich hoffe das Tutorial ist euch eine große Hilfe bei eurem Projekt.

      MFG. Bady
      GOOGLE ist mein Meister :)

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Bady“ ()

      Beispiel Listview Einträge in My.Settings

      Auf Wunsch eines Users speichern wir in unserem 2tem Beispiel Listview Einträge in My.Settings.

      1.) ihr geht auf rechts in dem Projectmappen Explorer auf My Project.

      2.) In dem Reiter Einstellungen legen wir einen Namen für den Speichernamen fest.

      3.) Dann tragen wir zb ein: Name: lv_Settings, Typ: System.Collection.Specialized.StringCollegtion, Bereich: Benutzer, bei Wert klicken wir einmal drauf und danach sollte rechts ein kleiner Button zu sehen sein mit 3Punkte(...)
      Da einmal drauf klicken und etwas eintragen. Danach klickt ihr mal kurz irgenwo hin das nun bei wert folgendes steht:
      <?xml version="1.0" encoding="utf-16"?>
      <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />

      Danach den eingegebenen Eintrag (im Button) wieder entfernen.

      Das wars dann könnt ihr eurer Setting einen Wert zuweisen

      Ein kleines Beispiel:

      VB.NET-Quellcode

      1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      2. ListView1.Items.Add(TextBox1.Text)
      3. TextBox1.Text = ""
      4. End Sub
      5. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
      6. For i As Integer = 0 To ListView1.Items.Count - 1
      7. My.Settings.lv_Settings.Add(ListView1.Items(i).Text)
      8. Next
      9. My.Settings.Save()
      10. End Sub
      11. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      12. For i As Integer = 0 To My.Settings.lv_Settings.Count - 1
      13. ListView1.Items.Add(My.Settings.lv_Settings(i))
      14. Next
      15. End Sub


      Beim Button1_Click Event wird mit:

      VB.NET-Quellcode

      1. ListView1.Items.Add(TextBox1.Text)
      2. TextBox1.Text = ""

      Ein Text in die ListView hinzugefügt.

      Beim Form Closing Event wird mit:

      VB.NET-Quellcode

      1. For i As Integer = 0 To ListView1.Items.Count - 1
      2. My.Settings.lv_Settings.Add(ListView1.Items(i).Text)
      3. Next
      4. My.Settings.Save()

      Einer For Schleife jeder Eintrag der ListView durchlaufen und in die Setting mit My.Settings.lv_Settings.Add(ListView1.Items(i).Text) eingetragen.

      Mit:

      VB.NET-Quellcode

      1. My.Settings.Save()

      Speichern wir wieder die Setting ab.

      Beim Form Load Event wird mit:

      VB.NET-Quellcode

      1. For i As Integer = 0 To My.Settings.lv_Settings.Count - 1
      2. ListView1.Items.Add(My.Settings.lv_Settings(i))
      3. Next

      Einer For Schleifer wieder alle gespeicherten Items von der abgespeicherten My.Settings.lv_Settings in die ListView1 mit ListView1.Items.Add(My.Settings.lv_Settings(i)) eingetragen.

      Ich hoffe euch hilft dieses Tutorial weiter bei euren Programmen.

      MFG Bady
      GOOGLE ist mein Meister :)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Bady“ ()

      Dieses Tut enthält leider eine total verbreitete Unnötigkeit, die sich durchs Tut noch weiter-verbreitet:

      Bady schrieb:

      Mit:

      VB.NET-Quellcode

      1. My.Settings.Save()
      speichern wir die Settings ab.
      Das aufzurufen ist ganz unnötig, denn Voreinstellung der AnwendungsEigenschaften ist "Settings bei ProgrammEnde speichern".
      Bei Programmende ist der genau richtige Zeitpunkt dafür, und jede vorherige Speicherung wird dadurch ja doch überschieben.
      My.Settings.Save() explizit aufzurufen wäre höchstens sinnvoll, wenn die Anwendung andauern abschmiert ;)




      samuel schrieb:

      Ist es auch möglich My.Settings z.B. direkt mit einer Textbox zu verknüpfen,
      damit ich nicht den Wert speicher bzw. auslesen muss?

      henny schrieb:

      Nein, außer du proggst es selber ^^

      Doch, dassis sogar sehr gut möglich: gugge Settings richtig verwenden + binden

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „ErfinderDesRades“ ()

      Sry dass ich den Thread hier wieder ausgrabe, aber ich müsste wissen, ob es möglich ist, My.Settings, die mit Bereich "Anwendung" markiert sind, zu bearbeiten und wenn ja, wie kann ich das machen?
      Geht darum, dass in in einer Anwendung ein DataSet beim Starten mit einer SQL DB verbunden wird, der Servername aber der Name des eigenen PCs ist, wenn man die Anwendug exportiert, steht aber in dem Connectionstring, der in den My.Settings drinnen steh aber immer noch der Name des Entwicklungsrechners drinnen und nicht der des ausführenden PCs. Da aber der Connecionstring mit Anwendung gekennzeichnet ist, ist er ReadOnly und somit - soweit ich das kann - unbearbeitbar. Gibt es da eine Möglichkeit den dennoch zu bearbeiten?
      In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
      Der Settings.Load() und Settings.Save()-Automatismus funktioniert nur unter VB.NET :!:
      In C# muss sich der Programmierer selbst darum kümmern. Um denselben Zustand wie in VB zu erhalten, fügt man den entsprechenden Code am besten in die Datei Program.cs ein:

      C#-Quellcode

      1. using System;
      2. using System.Collections.Generic;
      3. using System.Linq;
      4. using System.Windows.Forms;
      5. namespace NamespaceMeinerAnwendung
      6. {
      7. static class Program
      8. {
      9. /// <summary>
      10. /// Der Haupteinstiegspunkt für die Anwendung.
      11. /// </summary>
      12. [STAThread]
      13. static void Main()
      14. {
      15. NamespaceMeinerAnwendung.Properties.Settings.Default.Reload();
      16. Application.EnableVisualStyles();
      17. Application.SetCompatibleTextRenderingDefault(false);
      18. Application.Run(new Form1());
      19. NamespaceMeinerAnwendung.Properties.Settings.Default.Save();
      20. }
      21. }
      22. }
      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!
      Mir geht es aber nicht um die implementation in c# sondern, wie ich unter vb.net "anwendungs-"settings ändern kann oder ob ich einfach nur von anwendung auf benutzer umstellen muss weil es sonst ned geht
      In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
      @Radinator Dann wähle Deinen eigenen Speicherort Deiner Settings. Gugst Du hier.
      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!