comboboxwert mit my.settings speichern und laden

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von mathysjp.

    comboboxwert mit my.settings speichern und laden

    Wie kann ich den eingestellten (den selektierten) Wert einer Combobox mit der Option My.settings beim beenden des Form`s speichern und den selben beim Laden des Form`s wiederherstellen?
    Wieso bekomme ich immer die Messagebox "abbruch" obwohl der text des lblProfilSetName.Text eine XML Datei ist zB. test1_.xml


    VB.NET-Quellcode

    1. '***************************************************************************
    2. ' laden des Defaultprofile
    3. '***************************************************************************
    4. lblProfilSetName.Text = My.Settings.cbProfile_text
    5. If Not lblProfilSetName.Text = "*.xml" Then
    6. MessageBox.Show("abbruch")
    7. Else
    8. MessageBox.Show("jetzt laden ...")
    hallo mathysjp,

    machs einfach so

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Form1
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. Me.Label1.Text = "test.xml"
    5. If Path.GetExtension(Me.Label1.Text) <> ".xml" Then
    6. MessageBox.Show("abbruch")
    7. Else
    8. MessageBox.Show("jetzt laden ...")
    9. End If
    10. End Sub
    11. End Clas

    do könntest es natürlich auch so machen

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Form1
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. Me.Label1.Text = "test.xml"
    5. If Not Me.Label1.Text Like "*.xml" Then
    6. MessageBox.Show("abbruch")
    7. Else
    8. MessageBox.Show("jetzt laden ...")
    9. End If
    10. End Sub
    11. End Class

    gruss

    mikeb69
    OK, das hat jetzt alles ganz gut geklappt.
    Danke für die Hilfe.

    Jetzt stehe ich noch vor einem anderen Problem. Wenn ich zur Laufzeit des Tools quasi ein neues XML Profil speichere, so ist dieses nicht sofort in der Combobox ersichtlich. Die neu gespeicherte Datei erscheint erst wenn ich mein Tool beende und wieder neu starte.

    Wie kann ich das machen das die Dateien die zur Laufzeit generiert werden gleich mit eingelesen werden?
    Ich habe es jetzt so gelöst ... keine Ahnung ob es so korrekt ist, funktionieren tut es jedenfalls.

    Folgende Sub kicke ich an A: beim laden des Form und B: beim speichern einer neuen XML Datei

    VB.NET-Quellcode

    1. Sub cbfüllen()
    2. '-----------------------------------XML files in Combobox einfüllen-----------------------------------------
    3. For Each a As String In My.Computer.FileSystem.GetFiles(Application.StartupPath & "\Config", FileIO.SearchOption.SearchTopLevelOnly, "*.xml")
    4. Dim fi As New FileInfo(a)
    5. cbProfile.Items.Add(fi.Name)
    6. Next
    7. 'Doppelte einträge entfernen
    8. For n As Integer = cbProfile.Items.Count - 1 To 1 Step -1
    9. If cbProfile.Items(n) = cbProfile.Items(n - 1) Then cbProfile.Items.RemoveAt(n)
    10. Next
    11. End Sub