我正在开发一个需要大量按钮的项目。但是我需要一些按钮来删除以前的按钮。例如,当我单击阶段1中的第一个按钮时,我希望它删除自身以及阶段1中的另一个按钮,同时显示阶段2中的按钮。我正在尝试将其与实际项目分开,因为我已经尝试使用队列,列表和元组。
我该怎么做?看起来很简单,但是实现这一点确实非常复杂。代码会编译,当我单击一个按钮时,其他代码会显示出来,但是我无法删除它们或使它们不可见。我怎样才能做到这一点?提前致谢!
//Creates buttons on stage one
for (int i = 0; i < 2; i++)
{
Button button = new Button();
button.Location = new Point(20, 30 * i + 10);
button.Visible = true;
button.Text = "stage1";
switch (i)
{
case 0:
button.Click += new EventHandler(ButtonClick);
break;
case 1:
button.Click += new EventHandler(ButtonClick2);
break;
}
this.Controls.Add(button);
}
}
void ButtonClick(object sender, EventArgs e)
{
// First Button Clicked
// Creates buttons on stage 2
for (int i = 0; i < 2; i++)
{
Button button = new Button();
button.Location = new Point(200, 30 * i + 10);
button.Visible = true;
button.Text = "stage2";
switch (i)
{
case 0:
button.Click += new EventHandler(ButtonClick3);
break;
case 1:
button.Click += new EventHandler(ButtonClick4);
break;
}
this.Controls.Add(button);
}
}
void ButtonClick2(object sender, EventArgs e)
{
// Second Button Clicked
}
void ButtonClick3(object sender, EventArgs e)
{
// Third Button Clicked
}
void ButtonClick4(object sender, EventArgs e)
{
// Fourth Button Clicked
}
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS82VHg4Ti5wbmcifQ==” alt =“按钮的视觉表示”>
您必须给按钮指定一个唯一的名称:
button.Name = "button1";
然后您可以稍后将其删除:
this.Controls.Remove((Button)Controls["button1"]);