【发布时间】:2016-02-29 07:27:10
【问题描述】:
简介
我已经查找了如何将列表框中的项目保存到 my.settings 有一段时间了,并且有很多不同的答案。我都试过了(说得有点过分了),但没有一个真正奏效。这可能是因为我做错了什么,因为解释不好或我的编程新手阶段。
所以我有一个表单,用户可以在其中设置一堆设置。当他关闭应用程序并重新打开它时,所有这些都将保持原样。文本框、复选框等工作正常,但由于某种原因,列表框比我预期的要难保存。
我的列表框
用户像这样将项目添加到列表框(在文本框tbpath1 中写入类似c:\test 的内容,按下按钮btnAdd1,文本将成为列表框中的项目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)
我的尝试 (可能是十分之一的尝试)
所以这是我迄今为止的尝试之一。我希望这很容易。
My.Settings._lbchannel1.Clear()
For Each item In lbchannel1.Items
My.Settings._lbchannel1.Add(item)
Next
My.Settings.Save()
在上面的尝试中,我收到错误'NullReferenceException was unhandled : Object reference not set to an object instance'
我猜这与项目不是字符串等有关,但我不确定该去哪里。有人可以用一种简单的解释方式来总结吗?
【问题讨论】:
-
将设置的类型更改为
String.Collection。列表框有很多项目,您正试图将它们保存为单个字符串。 -
好的,谢谢。我想这更近了一步。 :)