自动删除按钮仅在第二次单击后工作。为什么呢?

时间:2018-06-07 13:32:14

标签: c# winforms controls

我已经制作了一个应该自行删除的按钮,但它给了我一个意想不到的结果:在第一次点击它完成所有但不能自行删除,在第二次点击它完成所有事情,包括自我删除。我想知道解释,以及如何在第一次点击时自行删除。 自我删除我的意思是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

1 个答案:

答案 0 :(得分:0)

问题出在我的代码中。有一个虚空创建了一个按钮,它被错误地调用了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");
        }
}

问题解决了。