Eiriks94 Skrevet 4. september 2009 Del Skrevet 4. september 2009 (endret) Er det mulighet for å lagre items i combobox? Hvis jeg legger til et item i en combobox i programet, feks. combobox1.items.add("Hallo"). Dette blir da slettet når jeg lukker programet. Er det mulighet for å lagre dettte slik at det er der når jeg åpner programet igjen? Visual Basic 2008 Takker for alle svar:D Endret 4. september 2009 av Eiriks94 Lenke til kommentar
GeirGrusom Skrevet 4. september 2009 Del Skrevet 4. september 2009 Javisst. Jeg tror ikke du kan lagre combobox.items direkte (altså uten kode) så litt kode må til. Gå i settings-saken, legg til en setting med det navnet du måtte ønske, og la den være System.Collection.Specialized.StringCollection. Pass på at denne ikke er Nothing når du skal lese fra den. På Form.Closing lagrer du combobox.items i denne. I constructoren kan du lese dem ut igjen. Husk å kalle Properties.Settings.Default.Save før progrmmet avslutter. Lenke til kommentar
Eiriks94 Skrevet 4. september 2009 Forfatter Del Skrevet 4. september 2009 Takk, skal prøve å se hva jeg får til;) Lenke til kommentar
Eiriks94 Skrevet 4. september 2009 Forfatter Del Skrevet 4. september 2009 Javisst.Jeg tror ikke du kan lagre combobox.items direkte (altså uten kode) så litt kode må til. Gå i settings-saken, legg til en setting med det navnet du måtte ønske, og la den være System.Collection.Specialized.StringCollection. Pass på at denne ikke er Nothing når du skal lese fra den. På Form.Closing lagrer du combobox.items i denne. I constructoren kan du lese dem ut igjen. Husk å kalle Properties.Settings.Default.Save før progrmmet avslutter. Jeg klarte å opprette den settingen, men klarte ikke helt å lagre, og lese infrmasjonen, kan du forklare dette litt nermere, kansje en liten kode? Det hadde vært kjempefint:D Vi lærer så lenge vi lever:D Takker for svar:D Lenke til kommentar
_powerade_ Skrevet 6. september 2009 Del Skrevet 6. september 2009 (endret) Denne funket her hos meg i hvertfall Imports System.Collections.Specialized Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim array As StringCollection = My.Settings.Combobox_liste For Each s As String In array Me.ComboBox1.Items.Add(s) Next End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.ComboBox1.Items.Add(Me.ComboBox1.Text) End Sub Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing Dim array As StringCollection = My.Settings.Combobox_liste array.Clear() For Each s As String In Me.ComboBox1.Items array.Add(s) Next End Sub End Class Men det finnes sikkert mer raffinerte løsninger på den Endret 6. september 2009 av _powerade_ Lenke til kommentar
Eiriks94 Skrevet 6. september 2009 Forfatter Del Skrevet 6. september 2009 (endret) Denne funket her hos meg i hvertfall Imports System.Collections.Specialized Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim array As StringCollection = My.Settings.Combobox_liste For Each s As String In array Me.ComboBox1.Items.Add(s) Next End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.ComboBox1.Items.Add(Me.ComboBox1.Text) End Sub Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing Dim array As StringCollection = My.Settings.Combobox_liste array.Clear() For Each s As String In Me.ComboBox1.Items array.Add(s) Next End Sub End Class Men det finnes sikkert mer raffinerte løsninger på den Da har jeg prøvd dette, får en feilmelding når jeg skal avslutte programet som sier "Objektreferanse er ikke satt til en objektforekomst." er det noen enkel løsning på dette? Feilmeldingen står til "array.Clear()." Jeg fikk til å lese, men ikke lagre:p Takk:D Endret 6. september 2009 av Eiriks94 Lenke til kommentar
GeirGrusom Skrevet 6. september 2009 Del Skrevet 6. september 2009 Som jeg sa innledningsvis, så vil egenskapen være satt til Nothing, derfor må du sjekke om den er Nothing før du prøver å lagre den. Er den nothing, må du sette den til New StringCollection. Lenke til kommentar
Eiriks94 Skrevet 6. september 2009 Forfatter Del Skrevet 6. september 2009 Som jeg sa innledningsvis, så vil egenskapen være satt til Nothing, derfor må du sjekke om den er Nothing før du prøver å lagre den. Er den nothing, må du sette den til New StringCollection. Hvor er det jeg setter denne til New StringCollection, finner ikke det jeg. (a) Lenke til kommentar
GeirGrusom Skrevet 6. september 2009 Del Skrevet 6. september 2009 Du kan ikke lese eller skrive til et objekt som er Nothing, så den må du sette til noe annet når du skal lagre tingene dine, ellers får du en NullReferenceException. Du må også sjekke dette når du skal lese fra den ved starten av programmet ditt, altså kun les fra den hvis den ikke er Nothing. Lenke til kommentar
Eiriks94 Skrevet 6. september 2009 Forfatter Del Skrevet 6. september 2009 Du kan ikke lese eller skrive til et objekt som er Nothing, så den må du sette til noe annet når du skal lagre tingene dine, ellers får du en NullReferenceException. Du må også sjekke dette når du skal lese fra den ved starten av programmet ditt, altså kun les fra den hvis den ikke er Nothing. Skjønner, men hvor endrer jeg dette? Lenke til kommentar
GeirGrusom Skrevet 7. september 2009 Del Skrevet 7. september 2009 Det er ditt program, hvordan skal jeg vite det? Lenke til kommentar
_powerade_ Skrevet 7. september 2009 Del Skrevet 7. september 2009 En måte å løse dette på er å sette inn en tulle-streng i String Editoren... ...og bruke denne koden Dim array As StringCollection = My.Settings.Combobox_liste For Each s As String In array If Not s = "blahtullogtøys" Then Me.ComboBox1.Items.Add(s) Next Noen vil vel kalle dette for grise-kode , men det er ok bruke noen lettvint-løsninger en gang i blant Håper problemet blir løst da... Lenke til kommentar
Eiriks94 Skrevet 7. september 2009 Forfatter Del Skrevet 7. september 2009 En måte å løse dette på er å sette inn en tulle-streng i String Editoren... ...og bruke denne koden Dim array As StringCollection = My.Settings.Combobox_liste For Each s As String In array If Not s = "blahtullogtøys" Then Me.ComboBox1.Items.Add(s) Next Noen vil vel kalle dette for grise-kode , men det er ok bruke noen lettvint-løsninger en gang i blant Håper problemet blir løst da... Tusen takk, nå ordnet det seg:D Takk til begge to for god hjelp:D Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå