自我删除按钮仅在第二次单击后起作用。为什么?
Self-removal button works only after the second click. Why?
我制作了一个应该自动删除的按钮,但它给了我一个意想不到的结果:第一次单击时它会执行所有操作但不会自动删除,第二次单击时它会执行所有操作包括自动删除。我想知道对此的解释以及如何让它在第一次点击时自动删除。
作为自我删除我的意思是MainForm.Controls.Remove(StartButton);
StartButton.Location = new Point(132, 35);
StartButton.Name = "StartButton";
StartButton.Size = new Size(85, 37);
StartButton.Text = "Start";
StartButton.Click += new EventHandler(StartButton_Click);
void StartButton_Click(object sender, EventArgs e)
{
MainForm.Controls.Remove(StartButton);
Console.WriteLine("Clicked");
}
控制台输出:
Clicked
Clicked
问题出在我的代码中。有一个创建按钮的void,被错误调用了2次。所以有两个按钮。
CreateButton()
CreateButton()
Void CreateButton()
{
StartButton.Location = new Point(132, 35);
StartButton.Name = "StartButton";
StartButton.Size = new Size(85, 37);
StartButton.Text = "Start";
StartButton.Click += new EventHandler(StartButton_Click);
void StartButton_Click(object sender, EventArgs e)
{
MainForm.Controls.Remove(StartButton);
Console.WriteLine("Clicked");
}
}
问题已解决。
我制作了一个应该自动删除的按钮,但它给了我一个意想不到的结果:第一次单击时它会执行所有操作但不会自动删除,第二次单击时它会执行所有操作包括自动删除。我想知道对此的解释以及如何让它在第一次点击时自动删除。
作为自我删除我的意思是MainForm.Controls.Remove(StartButton);
StartButton.Location = new Point(132, 35);
StartButton.Name = "StartButton";
StartButton.Size = new Size(85, 37);
StartButton.Text = "Start";
StartButton.Click += new EventHandler(StartButton_Click);
void StartButton_Click(object sender, EventArgs e)
{
MainForm.Controls.Remove(StartButton);
Console.WriteLine("Clicked");
}
控制台输出:
Clicked
Clicked
问题出在我的代码中。有一个创建按钮的void,被错误调用了2次。所以有两个按钮。
CreateButton()
CreateButton()
Void CreateButton()
{
StartButton.Location = new Point(132, 35);
StartButton.Name = "StartButton";
StartButton.Size = new Size(85, 37);
StartButton.Text = "Start";
StartButton.Click += new EventHandler(StartButton_Click);
void StartButton_Click(object sender, EventArgs e)
{
MainForm.Controls.Remove(StartButton);
Console.WriteLine("Clicked");
}
}
问题已解决。