首页 > 解决方案 > 如何在应用程序启动之间保留文本框数据?

问题描述

我是编程新手,我正在尝试制作一个应用程序,其中我将有多个文本框,用于与地下城和龙相关的不同事物。我想要的是当我关闭表单/应用程序时输入到文本框中的数据以保存,当我重新打开它时,之前的数据仍然存在。关于我将如何解决这个问题的任何想法?

想象一下,我有一个带有通向多个表单的按钮的主菜单。每个表格就像一个简单的记事本。假设我在表格 1 中输入数据,然后按下按钮返回主菜单或关闭应用程序。然后我重新加载并返回表格 1,我之前输入的所有数据仍然存在并准备好让我添加到其中。这就是我想做什么的想法,如果这使得......

标签: c#winforms

解决方案


这是基本的想法。

双击解决方案资源管理器中的设置:

在此处输入图像描述

为要保存的值起一个名称,然后在名称下输入它。在这里我使用'TextBoxValue'

在此处输入图像描述

现在添加代码以在您打开程序时对其进行初始化,并在程序更改时将其保存。

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        // Set the text to the last saved value
        InitializeSavedValues();
        // Notify me when textBox1 changes and...
        textBox1.TextChanged += textBox1_TextChanged;
    }

    private void InitializeSavedValues()
    {
        textBox1.Text =  (string)Properties.Settings.Default["TextBoxValue"];
    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        //... save the new value when it does
        Properties.Settings.Default["TextBoxValue"] = ((TextBox)sender).Text;
        Properties.Settings.Default.Save();
    }
}

(现在尝试输入一些文本并重新启动应用程序。)

在您的特定示例中,您可以通过这种方式保存表单数据,甚至可以保存应用程序关闭时打开的“哪个”表单(例如)。


推荐阅读