Это зависит от сценария;в большинстве случаев: вместо отменить событие, просто ничего не делать, например:
private void SaveDataClicked(object sender, EventArgs args) {
if(!ValidateData()) return;
// [snip: code that does stuff]
}
или:
private void SaveDataClicked(object sender, EventArgs args) {
if(ValidateData()) {
// [snip: code that does stuff]
}
}
Существуют некоторые события, которые представляютCancelEventArgs
(или аналогичный), позволяющий отменить некоторые внешние поведения с помощью args
- наиболее очевидным примером является закрытие формы (set e.Cancel = true;
).
Обратите внимание,в этом случае у меня не было бы автоматического диалогового результата на кнопке;примените это вручную, когда (если) обработчик завершится успешно.