Я создал диалоговое окно в своем приложении WinForms.Это имеет много текстовых полей и кнопки ОК / Отмена.Когда пользователь нажимает «ОК», я хочу, чтобы диалоговое окно закрывалось, только если все записи верны.Я могу видеть, как это сделать с «проверкой» событий для каждого элемента управления в отдельности.Это хорошо.Но они, похоже, срабатывают только тогда, когда контроль теряет фокус.Однако пустые текстовые поля в моем диалоговом окне также являются недопустимыми, что означает, что пользователь, возможно, никогда не фокусировался на этом элементе управления.Я предпочел бы просто проверить все элементы управления при нажатии OK.
Я не могу понять, как это сделать, хотя.Переопределение щелчка по кнопке OK, похоже, не позволяет остановить закрытие окна.Событие Form IsClosing происходит путем установки Cancel = true.Но это, кажется, не в состоянии различить, нажата ли кнопка OK или Отмена.Очевидно, что если нажата кнопка отмены, меня не волнует проверка и я хочу, чтобы форма закрывалась независимо.
Каков наилучший подход для этого?]
Обновление: я ужеБыло установлено, что CausesValidation имеет значение true как на моей форме, так и на кнопке ОК, но мое событие проверки не срабатывает, когда я нажимаю кнопку ОК.Я упоминаю об этом, как это было предложено в качестве решения ниже.