如何保存动态创建的文本框及其值

时间:2013-11-09 09:55:56

标签: c# winforms

我正在开发项目,我需要保存动态创建的文本框(我需要在第二次运行应用程序时显示文本框的数据)。

这是我的代码:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    static int itimes = 0;
    static int i = 0;
    public void textboxadd()
    {            
        TextBox txt = new TextBox();
        txt.Name = "Name" + i;

        if (i == 0)
        {
            Point p = new Point(6, 43);
            txt.Location = p;
        }
        else
        {
            Point p = new Point(6, 43 + 32 * i); 
            txt.Location = p;
        }

        txt.Size = new System.Drawing.Size(236, 26);

        Properties.Settings.Default.name1 = txt.Text;
        Properties.Settings.Default.Save();


        groupBox1.Controls.Add(txt);

        i++;           
    }

    private void button1_Click(object sender, EventArgs e)
    {            
        textboxadd();
        int gps = groupBox1.Size.Height;
        if (itimes == 0)
        {
            itimes++;
        }
        else
        {
            groupBox1.Size = new System.Drawing.Size(248, gps + 32);
        }
    }
}

如果您不理解我的问题,请询问,我会回答。

感谢您的帮助!!!!

1 个答案:

答案 0 :(得分:1)

在关闭应用程序存储区时,保留这些动态创建的控件的列表,以便安全保存以供以后在文件中使用。

1)创建一个存储所需值的类。例如,姓名,职位,大小和文字。使用xml序列化属性标记此类及其属性。

2)创建文本框时,请将其存储在列表中。

3)关闭应用程序时,列出文本框集合,并为存储该值的每个文本框创建一个对象。

4)使用XmlSerializer将这些值永久存储在硬盘上。

5)启动应用程序时,检查文件是否存在以及何时存在,将其中的值反序列化为对象并动态创建文本框并使用之前保存的值设置它们。

我相信你可以自己编写代码。请记住这些说明,您将实现您想要的目标。