【发布时间】:2016-02-05 01:52:50
【问题描述】:
我有一个小型应用程序,它允许用户检查自定义数量的 CheckBox,然后将其保存到 ComboBox 以供以后选择。现在 ComboBox 接受重复项,我正在尝试删除它并允许用户覆盖他们自己保存的特定选择。每个用户选择的数据首先存储在一个名为 columnList 的 List(Of Tuple(Of String, List(Of String) 中,其中 item 1,在一个名为 name 的 String 中访问,是列表的名称,item 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
问题在于这并没有删除文本文件中的数据,而是将另一个具有重复名称的选择列表添加到文件中。所以它一直有效,直到您关闭应用程序,然后当它重新打开时,原始列表仍然显示在组合框中,新列表在底部的重复名称下。我想直接从应用程序中编辑存储文本文件。
【问题讨论】:
-
由于this answer from Fabio 显然为您工作,也许您可以花点时间通过单击复选标记来接受该答案(也许还有您得到的其他一些答案)。这有助于其他人找到好的答案,就像 15 次代表的支持一样。
-
ColumnList(I).Item1 ->>> 那不是名字,那是一个整数。我相信你写的东西不会编译 - 所以我不确定你是如何让它运行的。使用 Nefariis 解决方案 - 简单的解决方案。
-
完成!抱歉,我是 StackOverflow 的新手
-
@Maertin ColumnList 是一个元组列表,所以可以编译。
标签: vb.net checkbox combobox io tuples