0
C#を使用して、Windowsフォームを使用して1つのボタンをドラッグアンドドロップし、ボタンとテキストボックスを動的に作成しました。私はボタンのテキストボックスからの入力を表示したいと思います。ハードコードされたボタンは正常に動作しますが、動的ボタンはSystem.NullReferenceExceptionでプログラムをクラッシュさせます。C#を使用した動的テキストボックス入力
ダイナミックに作成されたボタンをクリックして、動的に作成されたテキストボックスから入力を取得する方法を教えてください。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication8
{
public partial class Form1 : Form
{
Button btnDynamic;
TextBox txtBoxYear;
public Form1()
{
InitializeComponent();
tp();
}
private void Form1_Load(object sender, EventArgs e)
{
Button btn = (Button)sender;
btnHardCode.Text = txtBoxYear.Text; //This hard coded button works
// btnDynamic.Text = txtBoxYear.Text; //The dynamic button crashes the program with a
//System.NullReferenceException
}
private void tabPage1_Click(object sender, EventArgs e)
{
}
private void tp() //put textbox and button on tab on tab click
{
var tab = tabControl1.TabPages[0];
//tab.Controls.Clear();
var btnDynamic = new Button()
{
Size = new Size(75, 30),
Left = 40,
Top = 50,
Text = "try",
};
btnDynamic.Click += new EventHandler(this.Form1_Load);
tab.Controls.Add(btnDynamic);
txtBoxYear = new TextBox()
{
Size = new Size(200, 100),
Left = 20,
Top = 10,
};
tab.Controls.Add(txtBoxYear);
}
private void button1_Click(object sender, EventArgs e)
{
}
}
}