我有一个小应用程序,允许用户检查自定义数量的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中,同时在底部的重复名称下显示新列表。我想直接从应用程序编辑存储文本文件。
答案 0 :(得分:0)
这个问题有点不清楚,如果我理解正确,请告诉我。
如果是上述情况,那么您需要做的是覆盖文件而不是附加文件。
Dim sw As Streamwriter = New Streamwriter("C:\myFile.txt", False)
最后的true告诉文件覆盖而不是写到底部。
如果这不是您所说的,请以上述格式编辑您的问题,以便我们能够确定您遇到问题的确切位置?