Springen naar inhoud


- - - - -
VS 2015

Hoe Inhoud Listbox En Checkedlistbox Save To A Property And Read

VS2015

  • Log in a.u.b. om te beantwoorden
Er zijn 23 reacties in dit onderwerp

#1 glda19

glda19

    Professional Developer

  • Leden
  • PipPipPipPip
  • 308 berichten
    Laatst bezocht 02 dec 2018 22:26

Geplaatst op 18 november 2018 - 20:50

Hi
Ik ben een testje aan  het maken.
Ik heb zowel een checkedlistbox als een listbox
Deze link is voor de listbox http://www.vbib.be/i...-in-mysettings/
deze code werkt niet meer in vb.net 2017

#2 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1092 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 19 november 2018 - 13:36

Bericht bekijkenglda19, op 18 november 2018 - 20:50, zei:

Hi
Ik ben een testje aan  het maken.
Ik heb zowel een checkedlistbox als een listbox
Deze link is voor de listbox http://www.vbib.be/i...-in-mysettings/
deze code werkt niet meer in vb.net 2017
Toch wel.
Waarom zou dat overigens niet meer werken?
Of nog: wat is de fout die je krijgt?

#3 glda19

glda19

    Professional Developer

  • Leden
  • PipPipPipPip
  • 308 berichten
    Laatst bezocht 02 dec 2018 22:26

Geplaatst op 20 november 2018 - 20:08

voor een listbox lukt het al stond op string in plaats van stringcollection by settings.
Maar hoe nu voor ee checkedlistbox.

#4 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1092 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 22 november 2018 - 20:12

Bericht bekijkenglda19, op 20 november 2018 - 20:08, zei:

Maar hoe nu voor ee checkedlistbox.
Een CheckedListBox item is geen string.
Dus je moet dat oplossen zoals ik in datzelfde topic heb gedaan voor die dictionary.

Bijvoorbeeld (met een NameValueCollection) :

Visual Basic Code:
  
	Private Sub SaveSettings()
		If My.Settings.CheckedSettings Is Nothing Then
			My.Settings.CheckedSettings = New NameValueCollection()
		Else
			My.Settings.CheckedSettings.Clear()
		End If

		With CheckedListBoxSettings
			For index = 0 To .Items.Count - 1
				Dim item = .Items(index)
				My.Settings.CheckedSettings.Add(
						.Items(index).ToString, .GetItemCheckState(index).ToString)
			Next
		End With
		My.Settings.Save()
	End Sub
		
	Private Sub LoadSettings()
		CheckedListBoxSettings.Items.Clear()
		If My.Settings.CheckedSettings IsNot Nothing Then
			For Each key As String In My.Settings.CheckedSettings.Keys
				Dim stringValue = My.Settings.CheckedSettings(key)
				Dim value = DirectCast([Enum].Parse(GetType(CheckState), stringValue), CheckState)
				CheckedListBoxSettings.Items.Add(key, value )
			Next
		End If
	End Sub





#5 glda19

glda19

    Professional Developer

  • Leden
  • PipPipPipPip
  • 308 berichten
    Laatst bezocht 02 dec 2018 22:26

Geplaatst op 22 november 2018 - 20:16

het is niet enkel de bedoeling enkel de geselecteerde op te slaan. Maar gans de checkedlistbox

#6 glda19

glda19

    Professional Developer

  • Leden
  • PipPipPipPip
  • 308 berichten
    Laatst bezocht 02 dec 2018 22:26

Geplaatst op 22 november 2018 - 20:30

dit kreeg ik op een engels forum http://www.vbforums....box-to-property
Misschien een op merking ik vind het forum hier nog al dood de laatste tijd . Er is gelijk maar 1 persoon die hier nog antwoord en  dat is dirk andries met alle respect voor dirk

#7 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1092 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 22 november 2018 - 21:00

Bericht bekijkenglda19, op 22 november 2018 - 20:16, zei:

het is niet enkel de bedoeling enkel de geselecteerde op te slaan. Maar gans de checkedlistbox
Mijn code doet exact dat: alle items met daarbij telkens checked state.

#8 glda19

glda19

    Professional Developer

  • Leden
  • PipPipPipPip
  • 308 berichten
    Laatst bezocht 02 dec 2018 22:26

Geplaatst op 22 november 2018 - 21:01

Tip misschien beter bijzetten wat ik in de settings moet zetten. Want dat weet ik niet
Krijg onderlijnde code

#9 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1092 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 22 november 2018 - 21:04

Bericht bekijkenglda19, op 22 november 2018 - 20:30, zei:

dit kreeg ik op een engels forum http://www.vbforums....box-to-property

Ik ben ook lid van dat forum, al heel lang zelfs, weliswaar onder een schuilnaam. :D

Mijn code is overigens beter. :D
Met alle respect voor de door mij zeer gewaardeerde jmcilhinney.

#10 glda19

glda19

    Professional Developer

  • Leden
  • PipPipPipPip
  • 308 berichten
    Laatst bezocht 02 dec 2018 22:26

Geplaatst op 22 november 2018 - 21:05

wat zetten in mij settings

#11 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1092 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 22 november 2018 - 21:07

Bericht bekijkenglda19, op 22 november 2018 - 21:01, zei:

Krijg onderlijnde code
Ik zie dat niet?

Bericht bekijkenglda19, op 22 november 2018 - 21:01, zei:

Tip misschien beter bijzetten wat ik in de settings moet zetten. Want dat weet ik niet
Bedoel je het type? Dat staat toch in de code?
Het is System.Collections.Specialized.NameValueCollection

#12 glda19

glda19

    Professional Developer

  • Leden
  • PipPipPipPip
  • 308 berichten
    Laatst bezocht 02 dec 2018 22:26

Geplaatst op 22 november 2018 - 21:10

Dirk dacht ik ook om  by type System.Collections.Specialized.NameValueCollection

Maar in v.net 2017 enkel deze keuze  System.Collections.Specialized.stringcollection

#13 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1092 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 22 november 2018 - 21:14

Bericht bekijkenglda19, op 22 november 2018 - 21:10, zei:

Dirk dacht ik ook om  by type System.Collections.Specialized.NameValueCollection

Maar in v.net 2017 enkel deze keuze  System.Collections.Specialized.stringcollection
Je hebt op het einde de mogelijkheid Browse ...
Daar kan je dan naar de NameValueCollection.

#14 glda19

glda19

    Professional Developer

  • Leden
  • PipPipPipPip
  • 308 berichten
    Laatst bezocht 02 dec 2018 22:26

Geplaatst op 22 november 2018 - 21:17

ik vind daar geen System.Collections.Specialized.NameValueCollection
Maar wel als ik deze in het tekstvak in vul
heb zelf bij brouwse geen name.collections staan

#15 glda19

glda19

    Professional Developer

  • Leden
  • PipPipPipPip
  • 308 berichten
    Laatst bezocht 02 dec 2018 22:26

Geplaatst op 22 november 2018 - 21:18

gevonden
wilde eerst leren hoe ik gegevens in settings  kan opslaan om dat later in het onderwerp google calender te gebruiken.
Dus ben met google calander bezig dit
Maar waarom ben jij de enige nog active op dit forum

#16 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1092 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 22 november 2018 - 21:22

Bericht bekijkenglda19, op 22 november 2018 - 21:17, zei:

ik vind daar geen System.Collections.Specialized.NameValueCollection
Maar wel als ik deze in het tekstvak in vul
heb zelf bij brouwse geen name.collections staan

Dat is vreemd:

Bijlage  SaveSettings.png   49,52K   3 downloads

#17 glda19

glda19

    Professional Developer

  • Leden
  • PipPipPipPip
  • 308 berichten
    Laatst bezocht 02 dec 2018 22:26

Geplaatst op 22 november 2018 - 21:24

maar waarom is uw code veel beter dan deze op het andere forum

#18 glda19

glda19

    Professional Developer

  • Leden
  • PipPipPipPip
  • 308 berichten
    Laatst bezocht 02 dec 2018 22:26

Geplaatst op 22 november 2018 - 21:25

zou dit het zelfde zijn voor een listbox en combox

#19 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1092 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 22 november 2018 - 21:34

Bericht bekijkenglda19, op 22 november 2018 - 21:24, zei:

maar waarom is uw code veel beter dan deze op het andere forum
Ik heb niet gezegd "veel beter", ik heb gezegd "beter".

Dit zijn de redenen:

1. Hun code slaat enkel op of een item gechecked is of niet (Boolean), ik sla de CheckState op.

2. Zij "misbruiken" een string die ze samenstellen uit het item en de Checked state, om het in een StringCollection te kunnen krijgen.
Dat kan foutlopen als je item de separator bevat die ze hebben gekozen: |  (het zogenaamde pipe character).
Dat maakt mijn code dus robuuster (en dat is beter).

#20 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1092 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 22 november 2018 - 21:35

Bericht bekijkenglda19, op 22 november 2018 - 21:25, zei:

zou dit het zelfde zijn voor een listbox en combox
Ik begrijp je vraag niet.
Wat bedoel je precies?

#21 glda19

glda19

    Professional Developer

  • Leden
  • PipPipPipPip
  • 308 berichten
    Laatst bezocht 02 dec 2018 22:26

Geplaatst op 22 november 2018 - 21:38

op het de zelfde code is voor een listbox en combobox.
En hoe weet jij dat een checkedlistbox van het type NameValueCollection is.
Veel respect voor u dirk
Ben een zeer bleutje tegen u kwa programmatie.
En weet jij waarom jij de enige actieve hier bent !!!

#22 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1092 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 23 november 2018 - 16:21

Bericht bekijkenglda19, op 22 november 2018 - 21:38, zei:

op het de zelfde code is voor een listbox en combobox.
Dezelfde code als voor een CheckedListBox?
Neen dus: ListBox en ComboBox items hebben geen CheckState die je wil opslaan.

Bedoel je voor ListBox versus Combobox?
Geen idee, al vermoed ik, dat het ongeveer hetzelfde zal zijn voor beiden.
Ik weet dat ook maar als ik dat probeer.

Bericht bekijkenglda19, op 22 november 2018 - 21:38, zei:

En hoe weet jij dat een checkedlistbox van het type NameValueCollection is.
Een CheckedListBox is helemaal niet van het type NameValueCollection.
Maar als je twee verschillende dingen moet opslaan per item en het moet een collectie zijn die dan kom je uit bij zoiets.


Bericht bekijkenglda19, op 22 november 2018 - 21:38, zei:

En weet jij waarom jij de enige actieve hier bent !!!

Ik kan alleen voor mezelf spreken, uiteraard.

Fora voor programmeertalen hebben allemaal veel minder trafiek dan een aantal jaar geleden.
Heeft veel te maken met stackoverflow.com, denk ik, waar iedereen heen graviteert (bijvoorbeeld de tag vb.net), ondanks de soms vijandige community.
Verder is de populariteit van Visual Basic.NET echt wel tanende.
Als je daarnaast dan nog een kleine visvijver hebt omdat het een Nederlandstalig forum is, is het logisch dat er weinig gegadigden zijn.

Zelf probeer ik hier af en toe te antwoorden om niet helemaal de voeling met vb.net te verliezen.
Uit nostalgie dus, omdat vb.net gedurende een decennium en tot een aantal jaren terug toch wel een belangrijk onderdeel van mijn professionele bezigheden was.
En dan liever hier dan op stackoverflow of een ander forum, net omdat het hier veel minder druk is, zodat ik er anderzijds niet teveel tijd mee verlies.
Bovendien is het antwoorden op vragen af en toe een bron voor het vergaren van nieuwe of verdiepende kennis.

#23 glda19

glda19

    Professional Developer

  • Leden
  • PipPipPipPip
  • 308 berichten
    Laatst bezocht 02 dec 2018 22:26

Geplaatst op 23 november 2018 - 21:56

Maar je zou toch ook 2 veraiablen kunnen maken een voor de tekst andere voor het checken of zie ik dat verkeerd
thx zal zelf een s uitzoeken hoe ik een listbox en combobox doe en hier posten

#24 glda19

glda19

    Professional Developer

  • Leden
  • PipPipPipPip
  • 308 berichten
    Laatst bezocht 02 dec 2018 22:26

Geplaatst op 23 november 2018 - 22:31

als ik het goed begrijp is een
stringcollection een verzameling van een tekenreeks en kan maar één naam bevatten dus geen  2 x de zelfde naam bevatten

bv authorNames.Add ("Pieter janssens")

NAmevaluecollection   is een gesorteerde verzameling van string namen (string key) en string waarde (string value) en kan meerdere string keys bevatten voorde zelfde naam

markStatus.Add("Very High", "80") dit snap ik om dat het een naam een waarde is omgezet naar een string.
MyCol.add("red","rojo") het eerste is de string key  maar hoe moet ik hier rojo aan zien als string value ?

Wil veel bijleren stap per stap





Ook met taq VS 2015, VS2015 voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[VS 2015] Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)