toolstrip elemente in einer my.settings speichern

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von m97y97.

    toolstrip elemente in einer my.settings speichern

    hi leute

    ich habe da eine frage ich habe eine toolstrip und ein button
    wen ich auf den button drücke kriegt der toolstrip immer label dazu
    aber wie kann ich die label speichern in einer my.settings??? hier mein code:


    ToolStrip1.Items.Add(CType(TabControl1.SelectedTab.Controls.Item(0), Skybound.Gecko.GeckoWebBrowser).Url.AbsoluteUri.ToString())
    My.Settings.Favoriten = ToolStrip1.Items.ToString
    My.Settings.Save()
    My.Settings musst Du zur Entwicklungszeit einzeln anlegen, das geht wohl mit Deinem Plan nicht.
    Leg Dir zur Laufzeit eine DataTable oder so an, und füge bei jedem Button_Click() eine entsprechende Zeile hinzu.
    Die Tabelle kannst Du mit SaveXml() abspeichern und mit LoadXml() reinholen.
    Nach dem Laden musst Du nur noch die Tabelle durchgehen und für jede Zeile ein Element anlegen.
    Das Löschen von einzelnen Elementen funktioniert dann genau so.
    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!
    kann ich denn einfach nur eine neue xml datei machen und die items drin speichern ungeföhr so :



    Dim Xml As New Xml.XmlDocument
    Xml.Item = ToolStrip1.Items.



    aber vb meint währe falsch


    edit: hab was beseres herausgefunden aber er meint immer noch nein

    Dim Xml As New Xml.XmlDocument
    Xml.WriteTo(ToolStrip1.Items.ToString)
    ah hab lösung ngefunden

    hier für die die es brauchen

    ändert es nach euren bedürfnissen:
    My.Settings.Bookmarks_Menu.Add(CType(TabControl1.SelectedTab.Controls.Item(0), GeckoWebBrowser).Url.AbsoluteUri)
    tsBtnBookmarks.DropDownItems.Add(CType(TabControl1.SelectedTab.Controls.Item(0), GeckoWebBrowser).Url.AbsoluteUri)


    sry geht net

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

    Man kann keine Controls abspeichern!

    Man kann nur Daten abspeichern!

    Controls sind in einem dicht verflochtenem Netz von Abhängigkeiten eingebettet, das müsste man alles mit abspeichern, und wennde alles mit abgespeichert hast, dann hast du ein komplettes Speicher-Abbild der App auf Platte.
    Eigentlich sogar inklusive .Net-Runtime und Betriebssystem.

    Du kannst Daten abspeichern, und dann Controls generieren (oder besser die vorhandenen nehmen), und deren Properties einstellen.

    Ah - bist drauf gekommen: Die Uri wollteste abspeichern ;)
    ahh herausgefunden danke nochmalss


    SourceCode
    form laden code

    VB.NET-Quellcode

    1. Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    2. ComboBox1.Text = My.Settings.Favoriten
    3. End Sub

    combobox erstellen und button
    button code:

    VB.NET-Quellcode

    1. My.Settings.Favoriten = (CType(TabControl1.SelectedTab.Controls.Item(0), GeckoWebBrowser).Url.AbsoluteUri)
    2. ComboBox1.Text = My.Settings.Favoriten
    3. ComboBox1.Items.Add((CType(TabControl1.SelectedTab.Controls.Item(0), GeckoWebBrowser).Url.AbsoluteUri))







    nochmal vielen dank für deine hilfe erfindesdesrades
    :)



    combobox namen usw usw an bedürfnisse anpassen
    Die Combobox Items kannst du in einer Txt Datei speichern das geht auch ganz einfach:


    VB.NET-Quellcode

    1. 'Txt schreiben
    2. Dim vps as new IO.StreamWriter("Speicherort")
    3. For i = 0 To Combobox1.Items.Count -1
    4. vps.WriteLine(Combobox1.Item(i).Text)
    5. Next
    6. vps.Close
    7. 'Einlesen
    8. Dim vpr as new IO.StreamReader("speicherort")
    9. While Not vpr.EndofStream
    10. ComboBox1.Items.Add(vpr.Readline)
    11. Next



    Grüße