Как отменить какое-либо событие в winforms?

Я хочу отменить событие из того функционального объема.

Например, Я нажал событие нажатия кнопки и на ложной проверке, я хочу отменить это событие. Аналогично я хочу отменить другие события также.

Как я могу сделать это в C#

7
задан John Saunders 20 April 2010 в 06:20
поделиться

1 ответ

Это зависит от сценария; в большинстве случаев: вместо отменить событие, просто ничего не делайте, например:

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; ).

Обратите внимание, что в этом сценарии у меня не будет автоматического диалогового окна для кнопки; примените это вручную, когда (если) обработчик завершится успешно.

7
ответ дан 7 December 2019 в 14:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: