覆盖CheckBox中保存的设置?

时间:2016-02-03 22:48:38

标签: vb.net checkbox combobox io tuples

我有一个小应用程序,允许用户检查自定义数量的CheckBox然后将其保存到ComboBox以便稍后选择。现在ComboBox接受重复项,我试图删除它并允许用户覆盖他们自己的特定保存选择。每个用户选择中的数据首先存储在List(Of Tuple(Of String,List(Of String)中称为columnList,其中项1,在名为name的String中访问)是列表的名称,并且第2项是列表。对于关闭程序后的访问,它也存储在一个文本文件中。我有一个粗略的方法,应该允许用户覆盖他们自己保存的选择,在那里删除元素在用户的名字是,然后在同一个地方插入更新的选项。我也有一个int标志告诉程序用户是否覆盖而不是创建新列表。

For i = 0 To columnList.Count - 1
            If columnList(i).Item1 = name Then
                columnList.RemoveAt(i)
                columnList.Insert(i, Tuple.Create(name, customList))
                flag = 1
                Exit For
            End If
        Next
        If flag = 0 Then
            columnList.Add(Tuple.Create(name, customList))
        End If

问题是这不是删除文本文件中的数据,而是添加另一个具有重复名称的选择列表到文件中。所以它一直有效,直到你关闭应用程序,然后当它重新打开时,原始列表仍然显示在ComboBox中,同时在底部的重复名称下显示新列表。我想直接从应用程序编辑存储文本文件。

1 个答案:

答案 0 :(得分:0)

这个问题有点不清楚,如果我理解正确,请告诉我。

  1. 程序打开(工作)
  2. 用户数据/首选项从文本文件(作品)加载
  3. 用户更改首选项(有效)
  4. 用户退出计划
  5. 当用户重新加载程序时,旧数据和新数据都被加载(这是你想要改变的)
  6. 如果是上述情况,那么您需要做的是覆盖文件而不是附加文件。

    Dim sw As Streamwriter = New Streamwriter("C:\myFile.txt", False)
    

    最后的true告诉文件覆盖而不是写到底部。

    如果这不是您所说的,请以上述格式编辑您的问题,以便我们能够确定您遇到问题的确切位置?