C# 如何删除我在单击其他按钮时创建的按钮

C# 如何删除我在单击其他按钮时创建的按钮,c#,button,C#,Button,这是我的代码,它帮助我在单击另一个按钮后创建一个按钮。我需要帮助,这样当我单击另一个按钮时,比方说ButtonRemove,它将删除我创建的最后一个按钮 private void BtnShto_Click(object sender, EventArgs e) { Button button = new Button(); button.Parent = this.pnlMenu; button.Location = new Point(12 + rreshta, 16

这是我的代码,它帮助我在单击另一个按钮后创建一个按钮。我需要帮助,这样当我单击另一个按钮时,比方说ButtonRemove,它将删除我创建的最后一个按钮

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

如果您希望删除最后添加的按钮(然后是之前添加的按钮,依此类推),作为对按钮单击的响应,您需要跟踪已添加的项目。我建议您将pushthenew按钮添加到一个堆栈中,该堆栈在您的click处理程序之外定义,然后在删除时将其弹出

将堆栈添加到表单中

var addedButtons = new Stack<Button>();
在“移除”按钮的“单击”处理程序中,移除项目并处置它们:

if (this.addedButtons.Count > 0)
{
    Button toRemove = this.addedButtons.Pop();
    this.pnlMenu.Contorls.Remove(toRemove);
    toRemove.Dispose();
}

如果您希望删除最后添加的按钮(然后是之前添加的按钮,依此类推),作为对按钮单击的响应,您需要跟踪已添加的项目。我建议您将pushthenew按钮添加到一个堆栈中,该堆栈在您的click处理程序之外定义,然后在删除时将其弹出

将堆栈添加到表单中

var addedButtons = new Stack<Button>();
在“移除”按钮的“单击”处理程序中,移除项目并处置它们:

if (this.addedButtons.Count > 0)
{
    Button toRemove = this.addedButtons.Pop();
    this.pnlMenu.Contorls.Remove(toRemove);
    toRemove.Dispose();
}