这是我的代码,可帮助我单击另一个按钮后创建一个按钮。我需要帮助,以便当我单击另一个按钮时,假设按钮“删除”将删除我创建的最后一个按钮。
private void BtnShto_Click(object sender, EventArgs e)
{
Button button = new Button();
button.Parent = this.pnlMenu;
button.Location = new Point(12 + rreshta, 16 + kolona);
button.Size = new Size(92, 84);
button.FlatStyle = FlatStyle.Flat;
button.BackColor = Color.White;
button.Text = "Tavolina " + j;
button.Name = "btnTavolina" + j;
j++;
rreshta += 100;
if(rreshta > 500)
{
kolona += 100;
rreshta = 0;
}
}
答案 0 :(得分:0)
如果您要删除最后添加的按钮(之前的按钮,依此类推),则为响应单击按钮,您需要跟踪已添加的项目。我建议您将“推新按钮”添加到单击处理程序外部定义的堆栈中,然后在删除时将其弹出。
将堆栈添加到表单中
var addedButtons = new Stack<Button>();
在BtnShto_Click中,将新按钮添加到堆栈中。
this.addedButtons.Push(button);
在“删除”按钮的Click处理程序中,删除项目并进行处理:
if (this.addedButtons.Count > 0)
{
Button toRemove = this.addedButtons.Pop();
this.pnlMenu.Contorls.Remove(toRemove);
toRemove.Dispose();
}