【问题标题】:How to save and load the contents of multiple text boxes in C#?如何在 C# 中保存和加载多个文本框的内容?
【发布时间】:2013-11-19 19:15:11
【问题描述】:

我正在用 C# 编写我的第一个程序,它只是一个简单的笔记制作程序。我目前有十个选项卡,每个选项卡都有一个用于标题和描述的文本框。但是,如果无法在关闭之前或编辑内容之后自动将每个文本框中的内容保存在每个文本框中,然后在下次加载应用程序时再次打开它们,那么该程序并不太有用,以便潜在用户可以下次他们想使用该程序时,只需继续他们以前的笔记等。每次关闭应用程序时都删除笔记并不是很好。此外,另一种选择可能是将整个应用程序的状态保存为缓存或其他东西,如果可能的话,这比保存 20 个文本文件(每个选项卡两个)更容易。无论如何,我不知道如何做到这一点,这里也没有什么太具体的内容,也没有我可以在谷歌上找到的任何教程。 无论如何,感谢您的帮助,如果可以的话,我只想提供想法和示例! 再见!

【问题讨论】:

  • 您尝试编写代码并向我们展示您需要帮助的内容如何?
  • 创建一个名为 Note 的类,其中包含两个字符串成员 Title 和 Description。现在创建 Note 实例并使用 GUI 中的值填充它。将这些实例存储在 List 中。最后,使用 XmlSerializer 从 List 创建一个 XML 文件。
  • My.settings.save 是您正在寻找将文本框的文本属性保存到字符串设置中的内容。

标签: c# load save savestate


【解决方案1】:

研究主题时使用关键字persistence

在计算机科学中,持久性是指状态的特性 比创建它的过程更长寿。

所以持久化有多种形式:文本文件、XML、数据库,甚至应用程序外部的内存都符合这个定义(将东西存储在内存中有点傻,因为重新启动会破坏一切)。

假设这是一个 winforms 应用程序,那么我们正在讨论使用事件驱动应用程序。您可以有一个提交按钮,有人单击该按钮以执行保存到您选择的“持久性”事物(通常是数据库)。

private void Save(object sender, EventArgs args)
{
   //Gather text info e.g.: var myText1 = myTextBox1.Text;
   //Save to the database or wherever using Stream 
   //or SqlConnection or something else.  See below
}

您可以选择使用SqlConnection 保存到数据库或使用StreamWriter 保存到文件。

【讨论】:

    猜你喜欢
    • 2011-11-25
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多