寻找一种保存用户进度C#表单的方法

时间:2018-11-16 09:10:08

标签: c# winforms

我正在开发C#形式的程序,用户必须在其中解决问题。 只有当用户完成问题后,他才可以继续下一个问题。

我想保存用户的进度,因此当他关闭并重新打开程序时,他不必重新做一遍。我认为也许布尔数组(对于每个问题,一个布尔都可以解决,对还是错)都能胜任。

但是我该如何保存?

3 个答案:

答案 0 :(得分:1)

1)在问题所在的地方创建问题表。

2)创建另一个答案表,您将在其中保存问题ID,并在用户使用用户ID对其提问后回答。

3)这两个表应该与Answer表FK有关系。

4)在答案表状态栏中,应存储用户的最终提交内容。

5)如果未提交最终提交状态,则可以从“答案”表中将所有问题与用户的答案绑定。可以,您可以继续处理尚待解决的问题,该用户上次离开时​​应该回答。

6)您应该在表单初始化上执行的第五步。获得验证并转到下一个问题。

答案 1 :(得分:0)

有很多方法可以执行此操作,您可以使用json,csv,xml ecc。...

只需创建一个包含一些信息的文件,然后当用户重新打开您的应用程序时,便会加载并解析该文件。

以下示例将XML加载到XmlDocument对象中,对其进行修改,然后将其保存到名为data.xml的文件中。

 // Create the XmlDocument.
    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<item><name>wrench</name></item>");

    // Add a price element.
    XmlElement newElem = doc.CreateElement("price");
    newElem.InnerText = "10.95";
    doc.DocumentElement.AppendChild(newElem);

    // Save the document to a file. White space is
    // preserved (no white space).
    doc.PreserveWhitespace = true;
    doc.Save("data.xml");

结果是一个包含以下内容的文件:

<item><name>wrench</name><price>10.95</price></item>

答案 2 :(得分:0)

要保存数据时。您可以使用数据库或本地文件。因此,您将所有内容保存在其中,并在程序启动后将其加载并进行检查。 希望对您有所帮助:)