Свойство Cancel EventArgs. Cancel

прежде всего фокус ввода не

Когда вы в своем обработчике события Validating Устанавливаете свойство CancelEventArgs.Cancel В True, Происходит следующее. Прежде всего, фокус ввода не покинет этот элемент управления, заставляя пользователя исправить проблему, прежде чем он сможет перейти к вводу данных в другие элементы управления. Во многих ситуациях это неплохо, так как не дает пользователям уйти слишком далеко от того контекста, где они ошиблись во вводе, прежде чем они исправят ошибку. Это также предотвратит запуск события Validated, Поскольку процесс верификации не был завершен.

Однако при таком подходе возникает несколько проблем. Во-первых, вы, возможно, не всегда захотите заставлять пользователей исправлять свои ошибки немедленно; можно позволить им заполнить все поля формы и только потребовать, чтобы они решили любые возникшие проблемы перед тем, как послать или сохранить данные. Это позволит быстро вводить данные тем людям, которым целыми днями приходится заполнять одну и ту же форму. В таких случаях они, переходя от поля к полю, обычно не смотрят все время на форму и могут не увидеть, что из-за ошибки верификации фокусу не было разрешено перейти на следующий элемент управления. Другая проблема состоит в том, что если пользователи пытаются закрыть форму с ошибками верификации, которые обрабатывались посредством отмены события Validating, По умолчанию они не смогут этого сделать. Действие щелчка на другом элементе управления, например, на кнопках обрамления окна, вызывает переключение фокуса, что запускает верификацию, которая не удается и возвращает фокус обратно на элемент управления, где произошла ошибка. Наконец, этот подход требует, чтобы элемент управления сначала получил, а затем отдал фокус другому элементу управления, прежде чем будет активирован процесс верификации. К счастью, .NET 2.0 вводит в классе Form Свойство AutoValidate, Которое позволяет вам точно специфицировать, каким должно быть поведение в случае, когда ошибка верификации происходит на уровне элемента управления. Это свойство обсуждается позднее в этой главе.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *