Кнопка самостоятельного удаления работает только после второго нажатия.Зачем? - PullRequest
0 голосов
/ 07 июня 2018

Я сделал кнопку, которая должна быть удалена самостоятельно, но она дает мне неожиданный результат: при первом нажатии она выполняет все действия, но не самоудаление, при втором нажатии она выполняет все действия, включая удаление самостоятельно.Я хотел бы знать объяснение этого и как сделать его самоудаляющимся при первом клике. Под самоуничтожением я подразумеваю 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 голосов
/ 07 июня 2018

Проблема была в моем коде.Была пустота, которая создает кнопку, и она была вызвана 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");
        }
}

Проблема решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...