【问题标题】:Saving user input in Visual C#在 Visual C# 中保存用户输入
【发布时间】:2013-12-14 08:23:38
【问题描述】:

我是 Visual C# 的新手,在任何地方都找不到我的问题的答案。我有一个程序,它有几个列表(图片框)和一个数组(字符串),它们的值根据用户的输入而改变。我想添加一个功能,允许用户将信息保存在列表中,以便他以后可以重新打开他的应用程序。如何以及在哪里保存我的列表和图片框中的信息?

【问题讨论】:

    标签: c# visual-studio save


    【解决方案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。或者使用数据库并逐个字段地查找您需要的每种数据类型。
      • 好的,我试试。感谢您的建议。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      相关资源
      最近更新 更多