跨会话维护自动完成/建议列表的最佳方法

时间:2009-04-07 14:12:14

标签: vb.net autocomplete clickonce session-variables

我想在给定PC上的应用程序的所有使用中维护一个ComboBox中输入的所有字符串的列表,用作该ComboBox的AutoCompleteSource,即我在ComboBox中输入“Fred” ,提交数据,关闭应用程序,重新打开应用程序,重新打开ComboBox,输入“F”,接收建议“Fred”。

假设我已经有代码在内存中创建和维护这样的列表,并在将它们输入ComboBox等时添加新元素,你建议什么是保存/加载这些数据的最佳方法会议之间?

可能的复杂因素:此应用程序将通过OneClick部署进行部署,并将在每次应用程序启动时在线搜索更新。我希望如果应用程序更新,则在更新完成后列表仍然存在。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

根据您的访问级别,将它们存储在平面文件中似乎是最简单的选择。

  • 要阅读选项列表,请阅读该文件并返回一个空列表(如果不存在)。
  • 要添加项目,请创建该文件(如果该文件不存在),然后附加选项。

这意味着您不会发送包含更新的空文件,因此数据仍然存在。

appears您可以将文件放在数据目录中或使用独立存储。

答案 1 :(得分:1)

我只是使用内置的用户设置(我的项目>设置>选择“用户”)来设置范围);它们非常容易检索和更新。虽然我没有进行过广泛的测试,但我相信它们仍然通过应用程序更新。

您的应用程序是否使用数据库?如果是这样,那将是永久存储的另一种选择。

修改
如果您决定使用“用户设置”选项,则会出现一个新的question,解决这些设置和ClickOnce的问题。