Как обрабатывать повторяющееся событие проверки при отображении диалога - PullRequest
0 голосов
/ 25 октября 2008

Мне интересно, как люди справляются с такой ситуацией, когда у вас есть событие проверки, и вам нужно показать пользователю диалоговое окно, спрашивающее его, продолжить или отменить.

Проблема в том, что при отображении этого диалогового окна оно вызывает другое событие проверки, поскольку считается, что он снова теряет фокус на элементе управления, и в результате вы получаете бесконечный цикл всплывающих окон диалога.

Я не могу отобразить окно сообщения ни до, ни после события проверки, потому что либо пользователь не закончил редактирование элемента управления, либо значение уже зафиксировано, и откат может вызвать собственные проблемы.

То, что я сейчас делаю, это установка флага перед показом диалогового окна и его очистка после этого, а затем в функции события проверки проверьте, установлен ли флаг, и если он есть, пропустите функцию. Это работает, но громоздко и склонно к ошибкам программиста.

Есть ли более простой способ справиться с чем-то подобным?

1 Ответ

1 голос
/ 25 октября 2008

Посмотрите на свойство CausesValidation в ваших элементах управления. Вы можете указать, будет ли нажатие кнопки вызывать события проверки. Вы также можете программно установить это, чтобы не допустить срабатывания логики проверки в неподходящее время.

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