使用ListView控件保存/加载My.Settings-vb.net
我正在用Visual Basic制作一个必须包含高分表的游戏。 我使用名为使用ListView控件保存/加载My.Settings-vb.net,vb.net,listview,load,save,my.settings,Vb.net,Listview,Load,Save,My.settings,我正在用Visual Basic制作一个必须包含高分表的游戏。 我使用名为lstscores的ListView控件将分数行存储在名为Name和Score的两列中。 正确时,用户必须猜测输入名为lstwords的列表框中的单词。 我在应用程序中设置了两个东西。设置:设置名称和设置分数,类型:System.Collections.Specialized.StringCollectino,范围:用户和值:无 当用户单击save按钮时,我基本上希望获取用户名和分数,并将其分别存储在设置中。因此,下次打开
lstscores
的ListView
控件将分数行存储在名为Name
和Score
的两列中。
正确时,用户必须猜测输入名为lstwords
的列表框中的单词。
我在应用程序中设置了两个东西。设置
:设置名称
和设置分数
,类型:System.Collections.Specialized.StringCollectino
,范围:用户
和值:无
当用户单击save按钮时,我基本上希望获取用户名和分数,并将其分别存储在设置中。因此,下次打开表单时,我可以将设置加载回相同的ListView
控件中
我已经研究了几个小时了,但还没有找到完全适合我需要的东西
我不能提供我的代码,因为我已经尽了我所知的一切可能,但没有任何效果
如果有人能给我一些建议或指导,我将非常感激
谢谢
Dim arr(1) As String
Dim score As Integer
inputname = txtname.Text
score = lstwords.Items.Count
arr(0) = inputname
arr(1) = score
lstscores.Items.Add(New ListViewItem(arr))
您可以结合使用
Save()
和Reload()
方法来存储数据。
当用户单击“保存”按钮时,您可以迭代ListView,将内容ListView.Items[n]
添加到名称集合中,并将子项的内容(ListViewItem.SubItems[0]
)添加到分数集合中。然后,使用My.Settings.Save()
保存数据。要在启动后将数据返回到列表视图
,请使用My.Settings.Reload()
(例如,在Form.Load
事件中)并迭代返回。下面是一个保存迭代(未测试)的示例:
好的,所以我只用settingname行尝试了你的代码,它甚至没有保存到my.Settings中。如果你对lstscores.Items中的每个it0使用
my.Settings.save()
?my.Settings.settingname.Add(it0.Text)
下一步my.Settings.save()
确定。您是否尝试过加载的完整解决方案?如何检查my.settings的内容是否已更改?它应该在文件系统的某个地方。VS内容不会更改,它们是默认设置。要检查设置是否已更改,我双击myproject
并转到settings
,而settingname
设置仍然具有默认的xml代码。为了将分数带到listview控件,我使用了我在原始问题中输入的代码
For Each it0 in lstscores.Items
My.Settings.settingname.Add(it0.Text)
My.Settings.settingscore.Add(it0.SubItems[0].Text)
Next
My.Settings.Save()