在没有数据库的情况下保存应用程序数据和设置

时间:2016-06-12 06:14:51

标签: c# winforms

我正在制作一个C#Winforms宠物项目,我陷入了两难境地。我希望我的应用程序的用户能够创建我用图标和标签表示的无限项目。此外,只要在新表单上单击项目,就会打开它以向其显示该项目中的项目文件。项目文件只是基于文本的文档,新项目文件也可以无限添加到项目中。

我的问题:

  1. 如何创建类似Android listview / gridview的东西,我定义了一个布局,它无限地重复布局以显示项目,如何保存这些项目,以便在应用程序关闭并再次打开时可以在上述列表视图中显示项目文件。我不希望它成为一个数据库。

  2. 如何对项目文件执行相同操作?基本上,如何无限重复布局(控制),保存数据并在启动时恢复数据。

1 个答案:

答案 0 :(得分:0)

  

如何创建类似Android listview / gridview的内容?

使用FlowLayoutPanel + UserControl来模仿ListView。

  

我不希望它成为一个数据库。

使用System.Xml.Serialization.XmlSerializer保存到XML文件。

static void Main()
{
    var serializer = new XmlSerializer(typeof(MyData));

    var saveData = new MyData() { Abc = 123 };
    using (var writeFile = File.OpenWrite("data.txt"))
    {
        serializer.Serialize(writeFile, saveData);
    }

    using (var readFile = File.OpenRead("data.txt"))
    {
        var retrieveData = (MyData)serializer.Deserialize(readFile);
        Console.WriteLine(retrieveData.Abc);
    }
}

public class MyData
{
    public int Abc { get; set; }
}