onload イベントでランタイムから生成された配列テキスト ボックスの値を取得できません。これがコードです。
フォームの onload イベントから:
private void frmMain_Load(object sender, EventArgs e)
{
TextBox[] txtFldNames = new TextBox[15];
int x = 155, y = 65, w = 300, h = 20;
for (int i = 0; i < 15; i++)
{
y = y + 30;
txtFldNames[i] = new TextBox();
txtFldNames[i].Location = new System.Drawing.Point(x, y);
txtFldNames[i].Size = new System.Drawing.Size(w, h);
this.Controls.Add(txtFldNames[i]);
txtFldNames[i].ReadOnly = true;
txtFldNames[i].BackColor = Color.White;
}
}
ボタンからテキストボックスの値にアクセスするにはどうすればよいですか?
private void button1_Click(object sender, EventArgs e)
{
//what to do here?
}
私はすでにこれを以下で試しましたが、うまくいきません。私が得るのはnull値だけです。だから親切に私を正しい方向に向けてください
private void button1_Click(object sender, EventArgs e)
{
TextBox[] txtFldNames = new TextBox[15];
for (int j = 0; j < 15; j++)
{
txtFldNames[j] = new TextBox();
MessageBox.Show("" + txtFldNames[j].Text);
}
}
完全なコードは次のとおりです。
public partial class classMain : Form
{
public frmMain()
{
InitializeComponent();
}
private void frmMain_Load(object sender, EventArgs e)
{
TextBox[] txtFldNames = new TextBox[15];
int x = 155, y = 65, w = 300, h = 20;
for (int i = 0; i < 15; i++)
{
y = y + 30;
txtFldNames[i] = new TextBox();
txtFldNames[i].Location = new System.Drawing.Point(x, y);
txtFldNames[i].Size = new System.Drawing.Size(w, h);
this.Controls.Add(txtFldNames[i]);
txtFldNames[i].ReadOnly = true;
txtFldNames[i].BackColor = Color.White;
}
}
private void button1_Click(object sender, EventArgs e)
{
//what to do here?
}
}