0

我正在用 Visual Basic 制作一个必须包含高分表的游戏。我正在使用一个ListView名为的控件将lstscores分数行存储在名为Name和的 2 列中Score。用户必须猜测输入lstwords正确时调用的 ListBox 中的单词。我在Application.Settings:中设置了两件事,settingname并且settingscore都使用 type: System.Collections.Specialized.StringCollectino, Scope:user和 Value: Nothing

当用户单击保存按钮时,我基本上想获取用户名和分数并将其分别存储在设置中。因此,当我下次打开表单时,我可以将设置重新加载到同一个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))
4

1 回答 1

0

您可以使用Save()Reload()方法的组合来存储您的数据。当用户单击保存按钮时,您可以迭代您的 ListView,将内容添加ListView.Items[n]到名称集合和子项 ( ListViewItem.SubItems[0]) 的内容到分数集合。然后,用于My.Settings.Save()保存您的数据。要ListView在启动后恢复数据,请使用My.Settings.Reload()(例如在Form.Load事件中)并将其迭代回来。这是保存迭代的示例(未测试):

For Each it0 in lstscores.Items
    My.Settings.settingname.Add(it0.Text)
    My.Settings.settingscore.Add(it0.SubItems[0].Text)
Next
My.Settings.Save()
于 2013-06-01T13:56:44.153 回答