Combobox auswahl in setting speichern

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Combobox auswahl in setting speichern

    Solangsam muss ich manchen leuten hier schon auf den nerv gehen xD


    Also seit einer Stunde google ich wie ich einen Bes**** wert einer Combobox in den settings speichern kann.
    Ich möchte den aktuellen Text der im Dropdownstyle // Dropdownlist ist gespeichert haben und diesen auch beim start wieder laden

    Ich habe unter anderem solche dinge versucht

    VB.NET-Quellcode

    1. Private Sub ComboBox4_SelectedTextChanged(sender As Object, e As EventArgs) Handles ComboBox4.SelectedIndexChanged
    2. My.Settings.erfundne = ComboBox4.SelectedItem
    3. My.Settings.Save()
    4. End Sub


    Form Load

    VB.NET-Quellcode

    1. ComboBox4.SelectedItem = My.Settings.erfunden



    Die auswahlmöglichkeiten wurden im desinger vorgegeben

    Aber es führt einfach zu keinem ergebniss entweder wird der Settingseintrag direkt beim Formload überschrieben oder es wird garnicht erst gespeichert immer wieder neue probleme.

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

    bigbase schrieb:

    den aktuellen Text
    So was:

    VB.NET-Quellcode

    1. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    2. If Not Me.ComboBox1.Items.Contains(My.Settings.Item) Then
    3. Me.ComboBox1.Items.Add(My.Settings.Item)
    4. End If
    5. If Me.ComboBox1.Items.Count > 0 Then
    6. Me.ComboBox1.SelectedIndex = 0
    7. End If
    8. End Sub
    9. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    10. My.Settings.Item = Me.ComboBox1.Text
    11. End Sub
    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

    Das funktioniert leider nicht der textwert wird zwar gespeichert aber wenn ich das programm neu starte wird der wert nicht geladen

    Der neustart des programmes überschreibt sofort den settingswert
    ___________________________________________________________________
    Lösen lässt sich mit rumprobieren alles

    VB.NET-Quellcode

    1. Private Sub ComboBox4_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox4.SelectedIndexChanged
    2. My.Settings.Item = Me.ComboBox4.SelectedIndex
    3. My.Settings.Save()
    4. End Sub


    Form Load

    VB.NET-Quellcode

    1. Me.ComboBox4.SelectedIndex = My.Settings.Item


    Und die Settings als integer statt string


    Danke nochmal an rod für die untestüzung

    Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von „bigbase“ ()

    Du kannst deine Comboboxauswahl aber auch gleich direkt binden...
    Da nimmst du einfach die Combobox.Text-Eigenschaft dazu her und bindest sie direkt mit My.Settings.Item (muss aber ein String-Datentyp sein!)...
    siehe dieses Tutorial von ErfinderDesRades
    Dabei verschwendest du noch dazu keine einzige Zeile Benutzercode...
    Ich hatte dir schon einmal gesagt, dass in VB.net das extra Angeben von My.Settings.Save unnötig ist, weil sowieso beim Beenden der App die geänderten Settings gespeichert werden (Voreinstellung)
    siehe Projekt/Anwendung/Hacken bei Herunterfahren der Anwendung Speichern

    bigbase schrieb:

    Der neustart des programmes überschreibt sofort den settingswert
    Dann setze einen Haltepunkt drauf und erforsche, wie Dein Programm tatsächlich funktioniert.
    Wisse:
    Dein Programm macht nicht das was Du willst, sondern Dein Programm macht das, was Du programmiert hast.
    Um das eine mit dem anderen in Übereinstimmung zu bringen, musst Du Dein Programm debuggen. 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!

    bigbase schrieb:

    Lösen lässt sich mit rumprobieren alles
    [...]
    Und die Settings als integer statt string
    Gute Lösung! :thumbsup:
    Weil wäre nicht möglich ohne Berücksichtigung der Unterschiedlichkeit von integer und string.
    Kann dir als Wink dienen, Option Strict On zu machen - weil genau darum gehts: Unterschiedliche Datentypen berücksichtigen.
    Wie gesagt: Das Thema Datentyp begleitet einen beim Proggen auf Schritt und Tritt, und je mehr Aufmerksamkeit man dem schenkt, desto weniger muss man rumprobieren ;)