【发布时间】:2012-05-29 13:21:24
【问题描述】:
我想知道在 vb 中通过不同形式保存和加载数据的最简单方法是什么。我只想保存用户保存的 3 个 textbox.text 并能够将其加载到不同的表单上。
【问题讨论】:
-
是否需要保存到磁盘以便即使在应用程序关闭时也可以持久化,还是只需要存储在内存中?
-
需要保存到磁盘。
我想知道在 vb 中通过不同形式保存和加载数据的最简单方法是什么。我只想保存用户保存的 3 个 textbox.text 并能够将其加载到不同的表单上。
【问题讨论】:
Complete description of solution, from Microsoft.
至少在过去的 25 年里,Microsoft 的一个伟大事情是出色的文档。即使是 Stackoverflow(软件圣地),MSDN 的质量也可以媲美
【讨论】:
如果是用户设置,您可以使用内置的My.Settings 对象来保存和加载。
来自上面的链接:
My.Settings 对象提供对应用程序设置的访问,并允许您动态存储和检索应用程序的属性设置和其他信息。
您可以在项目属性的设置部分中创建设置:
你可以这样访问。
dim MyTemp as String = My.Settings.MySetting
并像这样保存
My.Settings.MySetting = "StringValue"
My.Settings.Save()
这将保存在您的配置文件中,如下所示:
<userSettings>
<WindowsApplication11.My.MySettings>
<setting name="MySetting" serializeAs="String">
<value>TempValue</value>
</setting>
</WindowsApplication11.My.MySettings>
</userSettings>
【讨论】:
最简单的选择是将它们保存到一个简单的分隔文本文件中。例如,这会将值保存在以竖线分隔的文件中:
File.WriteAllText("C:\Data.txt", String.Join("|", new String() {TextBox1.Text, TextBox2.Text, TextBox3.Text}))
这会读到:
Dim values() as String = File.ReadAllText("C:\Data.txt").Split("|"c)
TextBox1.Text = values(0)
TextBox2.Text = values(1)
TextBox3.Text = values(2)
但是,保存到根目录中的文件并不明智。最安全的做法是将其存储在独立存储中的文件中。此外,将其存储在 XML 中会更好。这可以通过序列化轻松完成。
【讨论】: