2

動的に作成されたテキストボックスを保存する必要があるプロジェクトに取り組んでいます(アプリケーションを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 に答える