2

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

这是我的代码:

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);
        }
    }
}

如果您不明白我的问题,请提出,我会回答。

谢谢您的帮助!!!!

4

1 回答 1

1

保留这些动态创建的控件的列表,当您关闭应用程序时,将它们的值存储起来,以便以后在文件中使用。

1)创建一个存储你想要的值的类。例如,名称、位置、大小和文本。使用 xml 序列化属性标记此类及其属性。

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

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

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

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

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

于 2013-11-09T10:16:56.823 回答