2016-02-08 5 views
1

Я уверен, что этот вопрос может применяться к обоим, хотя я обычно работаю с кодом VB6, но зачем использовать Lost Focus vs Validate? В качестве примера, скажем, мне нужна дата, введенная в текстовое поле для даты рождения, я хочу убедиться, что дата введена в формате mm/dd/yyyy, почему я решил пойти с Validate vs Lost Focus?VB6 + VB.NET lostFocus vs Подтвердить?

+1

В дополнение к ответу Мэт, проверка поля по полю не является практичной во многих приложениях. Проверка одного элемента управления может зависеть от значения другого или включать сложные бизнес-правила. – Plutonix

+1

Я использую Validate, когда хочу сделать некоторую проверку текста и, возможно, ПРЕДОТВРАТИТЬ пользователя от перехода от элемента управления. Я вообще избегаю Lost Focus, но могу использовать его для настройки некоторого тривиального визуального аспекта элемента управления, например, изменения цвета, чтобы показать, где находится фокус. –

+1

... и даже если вы не используете 'DateTimePicker', нет никаких оснований быть настолько ограничительным. 'DateTime' может [синтаксический анализ] (https://dotnetfiddle.net/WImdZ7) может анализировать любой юридический формат для культуры. – Plutonix

ответ

3

Потерянный фокус срабатывает только тогда, когда пользователь перемещает фокус с этого элемента управления на другой. Проверенное событие срабатывает в момент проверки. Дополнительная информация о валидации здесь: WinForm UI Validation

Обратите внимание, что для ввода даты следует использовать datetimepicker; таким образом, вам не нужно беспокоиться о том, что введенный формат равен value. date

Смежные вопросы