Предполагается, что свойство CausesValidation элементов управления, для которых будет проводиться проверка, установлено в true. Это позволяет отработать обработчику события Validating, которое возникает в момент потери фокуса элементом управления. У обработчика события Validating имеется аргумент объект-представитель класса CancelEventArgs обычно с именем e. У него есть поле Cancel, которое в случае ошибки можно установить в true, что приводит к возвращению фокуса.
Validated генерируется после Validating. Разница между ними заключается в следующем.
Validating активизируется для данного элемента управления непосредственно после потери фокуса. Перехват этого события позволяет, например, оперативно проверить правильность заполнения данного поля ввода и в случае некорректного заполнения вернуть фокус в это поле. При этом можно предпринять некоторые шаги по коррекции неправильного значения. Например, если в поле ввода должна располагаться последовательность символов, преобразуемая к целочисленному значению, а туда была записана “qwerty”, то можно восстановить последнее корректрое значение или вписать туда строку “0”.
Validated активизируется при попытке закрытия формы. В обработчике этого события обычно располагается код, который позволяет осуществить проверку корректности заполнения всей формы в целом. Например, отсутствие значений в текстовых полях, которые обязательно должны быть заполнены.