Что-то странное происходит в моем приложении WinForms (и со странными вещами, как правило, это моя ошибка).Вызов PerformClick отменяет событие закрытия
У меня есть событие FormClosing, которое будет проверять, были ли сделаны какие-либо изменения в форме, которая не была сохранена.
Если пользователь подтвердит, что сохранит изменения, я назову событие щелчка кнопки «Сохранить». Однако, даже если я удалю всю логику в событии OnClick, форма остается открытой, и я должен закрыть ее снова, прежде чем она закроется.
Если я пропустил линию buttonSave.PerformClick();
, тогда форма закрывается должным образом.
Зачем вводить событие click, отменять закрытие? Любая работа вокруг?
private void MyForm_FormClosing(object sender, FormClosingEventArgs e)
{
//Check if there changes were made on the form
//Prompt user to save
if (confirmSave)
buttonSave.PerformClick();
}
private void buttonSave_Click(object sender, EventArgs e)
{
//Everything in here commented out.
}
Почему вы просто не вызываете событие, а не используете PerformClick? – kevintjuh93
Я предлагаю вам, что вы берете логику сохранения из метода событий и создаете новый метод, который затем может быть вызван из нескольких методов. – MaticDiba
Это то же самое, что я сказал: P – kevintjuh93