在 Visual C# 中保存用户输入
Posted
技术标签:
【中文标题】在 Visual C# 中保存用户输入【英文标题】:Saving user input in Visual C# 【发布时间】:2013-12-14 08:23:38 【问题描述】:我是 Visual C# 的新手,在任何地方都找不到我的问题的答案。我有一个程序,它有几个列表(图片框)和一个数组(字符串),它们的值根据用户的输入而改变。我想添加一个功能,允许用户将信息保存在列表中,以便他以后可以重新打开他的应用程序。如何以及在哪里保存我的列表和图片框中的信息?
【问题讨论】:
【参考方案1】:既然你是新人,我就解释一下汤姆说的话:
您可以在表单中添加一个名称为 : Save 的按钮,单击它会将数组字符串保存到 .txt 文件中,该文件将在表单加载事件中加载到同一个数组中!!
保存:
System.IO.File.WriteAllLines("info.txt", yourarray);
用于加载,在表单加载事件中:
if(File.Exisis("info.txt"))
var TextLines = File.ReadAllLines("info.txt");
foreach (var line in TextLines)
yourarray.Add(line);
注意:你的数组应该是通用的..
【讨论】:
好的,我想我明白了。如果我想保存一个矩阵,我该怎么做?非常感谢您向我解释。 那会更难更复杂!!做到这一点的方法: 1-将所有数据保存在一行中,每个信息(info1,info2)后有一个分隔符。 2-为每个图片框使用 XML 文件,一个节点包含它的数据.. 如何将所有数据保存在一行中?【参考方案2】:如果您想在应用程序运行之间保持状态,您需要将数据保存到磁盘的某个位置(只是在文件中或在数据库中等)。
然后,当您启动应用程序时,您要检查保存此信息的位置,以查看是否有来自先前应用程序运行的数据。如果有数据,则可以加载,否则从新状态开始。
【讨论】:
【参考方案3】:这是一个非常开放的问题,您可以通过多种方式完成此任务。
最直接的方法是将图像存储在本地,然后使用重建列表/数组的加载函数加载它们
这个(以及 MSDN 上的其他资源)可能对你有帮助,特别是这个:Image.Save Method
如果您想使用数据库来解决这个问题,还有这个:How to Save and Load Image from Database in C# desktop application
【讨论】:
谢谢你的回答,但我不只是要保存图片,我要保存所有图片框的位置,放置的标签,以及基本上所有存储在对象中的信息.你知道怎么做吗?我应该使用 XML 序列化吗? 是的,如果你想保存整个列表结构/对象,你将不得不使用更复杂的东西,比如 XML。或者使用数据库并逐个字段地查找您需要的每种数据类型。 好的,我试试。感谢您的建议。以上是关于在 Visual C# 中保存用户输入的主要内容,如果未能解决你的问题,请参考以下文章
应用程序重新启动 C++ Visual Studio 时保存编辑控件用户输入和恢复的有效方法