【发布时间】:2018-06-07 13:32:13
【问题描述】:
我制作了一个应该自动删除的按钮,但它给了我一个意想不到的结果:第一次单击它会执行所有操作但不会自动删除,第二次单击它会执行所有操作,包括自动删除。我想知道对此的解释以及如何使其在第一次点击时自动删除。
作为自我删除我的意思是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
【问题讨论】:
-
无法以干净的形式重现问题。考虑发布minimal reproducible example。目前尚不清楚
MainForm或StartButton指向的内容。 -
必须是代码中阻止刷新表单的其他内容。你的表格中还有什么?任何其他可能破坏它的事件处理程序或逻辑?可以在空白表格上按一个按钮的情况下重现吗?
-
@Baldrick 是的,它适用于空白表单,然后在我的代码中使用其他内容。