ユーザーがカテゴリを選択でき、そのサブカテゴリが表示されるアプリを作成しようとしています。これらのサブカテゴリは、動的に作成されるボタンです。
現在、ボタンは動的に作成されるため、サブカテゴリがいくつあるかわからないため、button_clickイベントの下にコードを記述する方法がわかりません。
では、特定のボタンのクリックイベントを実行して、特定のコマンドを実行できるようにする方法はありますか?
編集済み
これは私が試したコードです
Button btnDynamicButton = new Button();
private void btnclick_Click(object sender, EventArgs e)
{
label2.Text = btnDynamicButton.Text;
}
private void btnappetizer_Click(object sender, EventArgs e)
{
groupBox2.Visible =false;
DataTable dt = new DataTable();
dt = itemmasterbl.SelectallrecordFromtblItem(btnappetizer.Text);
for (int i = 0; i < dt.Rows.Count; i++)
{
string name = "Appetizer" + DynamicButtonCount;
Button btnDynamicButton1 = new Button();
btnDynamicButton1.Name = name;
btnDynamicButton1.Text = name;
btnDynamicButton1.Size =
new System.Drawing.Size(150, 30);
btnDynamicButton1.Location =
new System.Drawing.Point(180, DynamicButtonCount * 30);
btnDynamicButton1.Click +=new EventHandler(btnclick_Click);<br>
Controls.Add(btnDynamicButton1);
DynamicButtonCount++;
btnDynamicButton = btnDynamicButton1;
}
}
これを行うと、前菜の下のitemmaster DBの値の数に応じて3つのボタンが作成されますが、3つのボタンのいずれかをクリックすると、ラベルには最後のボタンのテキストのみが表示されます。
btnDynamicButton = btnDynamicButton1;
どちらがボタン情報を持続しますが、どちらのボタンを押しても、ラベルにはそれぞれのテキストが表示されます。どうすればこれを達成できますか。