Gå til innhold

lagre items i combobox?


Anbefalte innlegg

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?:D

 

Visual Basic 2008

 

Takker for alle svar:D

Endret av Eiriks94
Lenke til kommentar
Videoannonse
Annonse

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
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?:D Det hadde vært kjempefint:D

Vi lærer så lenge vi lever:D

 

 

Takker for svar:D

Lenke til kommentar

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 :p

Endret av _powerade_
Lenke til kommentar
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 :p

 

 

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 av Eiriks94
Lenke til kommentar
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

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
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

En måte å løse dette på er å sette inn en tulle-streng i String Editoren...

 

post-149773-1252326757_thumb.jpg

 

...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 :p, men det er ok bruke noen lettvint-løsninger en gang i blant ;)

 

Håper problemet blir løst da... :)

Lenke til kommentar
En måte å løse dette på er å sette inn en tulle-streng i String Editoren...

 

post-149773-1252326757_thumb.jpg

 

...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 :p, 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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...