如何删除我在单击另一个按钮时创建的按钮

时间:2019-11-25 17:53:12

标签: c# button

这是我的代码,可帮助我单击另一个按钮后创建一个按钮。我需要帮助,以便当我单击另一个按钮时,假设按钮“删除”将删除我创建的最后一个按钮。

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;
    }
}

1 个答案:

答案 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();
}