IntroComment puis-je enregistrer des éléments de ListBox à My.Settings
J'ai regardé comment enregistrer les articles dans une zone de liste à My.Settings pendant un certain temps maintenant et il y a tant de réponses différentes. Je les ai tous essayés (un peu excessivement à dire), mais aucun n'a vraiment fonctionné. C'est probablement parce que je fais quelque chose de mal à cause d'une mauvaise explication ou de ma phase de débutant à la programmation.
Donc j'ai un formulaire où l'utilisateur peut définir un tas de paramètres. Ils vont tous rester comme ils l'étaient quand il ferme l'application et l'ouvre de nouveau. Les boîtes de texte, les cases à cocher et ainsi de suite fonctionnent bien, mais pour une raison quelconque, la Listbox est plus difficile que ce à quoi je m'attendais.
Mon listbox
L'utilisateur ajoute des éléments à la zone de liste comme ça (écrit quelque chose comme c:\test
dans une zone de texte tbpath1
, appuie sur un bouton btnAdd1
et le texte deviendra un élément dans la liste lbchannel1
)
Private Sub btnAdd1_Click(sender As Object, e As EventArgs) Handles btnAdd1.Click
Dim str As String = tbPath1.Text
If str.Contains("\") Then
lbchannel1.Items.AddRange(tbPath1.Text.Split(vbNewLine))
tbext1_1.Text = (tbext1_1.Text)
Ma tentative(probablement l'un sur dix tentatives)
Donc, c'est l'une de mes tentatives jusqu'à présent. Je souhaite que c'était si facile.
My.Settings._lbchannel1.Clear()
For Each item In lbchannel1.Items
My.Settings._lbchannel1.Add(item)
Next
My.Settings.Save()
la tentative ci-dessus, j'obtiens l'erreur 'NullReferenceException was unhandled : Object reference not set to an object instance'
Je devine qu'il a quelque chose à voir avec les articles ne pas être une chaîne et ainsi de suite, mais je ne suis pas sûr où aller avec ça. Quelqu'un peut-il envelopper d'une manière simple expliquée?
Modifiez le type pour le paramètre à 'String.Collection'. La liste contient de nombreux éléments, vous essayez de les enregistrer dans une seule chaîne. – Plutonix
Très bien, merci. C'est un pas de plus, je suppose. :) – MadsTheMan