これまでのところ私のコードで、numericUpDownとbuttonという名前のメニューアップ項目があります。ユーザーがボタンを押したときに番号を選択すると、フィールドが動的に作成されました。動的に作成されたテキストフィールドの入力値を取得するにはどうすればよいですか?
private void createPerson_Click(object sender, EventArgs e)
{
Label[] person_Name = new Label[(int)this.numericUpDown.Value];
TextBox[] person_txtinput = new TextBox[(int)this.numericUpDown.Value];
for (int i = 0; i < this.numericUpDown.Value; i++)
{
//create person name label
Person_Name[i] = new Label();
Person_Name[i].Location = new System.Drawing.Point(20, 114 + i * 25);
Person_Name[i].Size = new System.Drawing.Size(120, 15);
Person_Name[i].Text = (i + 1).ToString() + @")" + "Person Name:";
this.Controls.Add(Person_Name[i]);
//create person name textbox
PersonNameTxtInput[i] = new TextBox();
PersonNameTxtInput[i].Location = new System.Drawing.Point(140, 114 + i * 25);
PersonNameTxtInput[i].Size = new System.Drawing.Size(125, 20);
this.Controls.Add(PersonNameTxtInput[i]);
}
}
private void save_Click(object sender, EventArgs e)
{
for (int i = 0; j < this.numericUpDown.Value; i++)
{
MessageBox.Show("" + PersonNameTxtInput[i].Text);
}
}
私の質問は、どのように私は得ることができ、保存ボタンが押されたときにユーザーによって作成されたどのように多くの分野に応じて、テキストボックスからすべての値?
保存ボタンリスナー内でコードを使用しようとしましたが、どのようにしてLabel[] person_Name = new Label[(int)this.numericUpDown.Value];
をグローバル変数にすることができますので、ループの保存ボタン内でアクセスできます。
this.Controlsを繰り返し実行するだけの理由はありますか? –
あなたの質問に私は非常に新しいコーディングに新しい拡張することができます。もし私がthis.Controlsを反復すると、私もラベル名を取得していません。私は、ラベルではなくテキストフィールドからの値が必要です。ここに私が書いたコードがあります。 – user7388968