Мы постоянно обсуждаем с клиентом информацию об ошибках. Общий сценарий:
- пользователь открывает форму
- пользователь заполняет 20 полей в форме
- пользователь нажимает ОК
- если существуют ошибки, ошибочные поля помечаются стандартным поставщиком ошибок .NET, и диалоговое окно не закрывается.
Наш клиент хочет реализовать следующий сценарий:
- проверить поле, когда пользователь хочет отойти от поля
- если поле содержит ошибку, отобразить окно сообщения с описанием ошибки
- иногда требуется только предупреждение, но это должно быть окно сообщения.
Первый вопрос: как вы информируете пользователя об ошибках ввода данных? Вы используете окна сообщений или .NET-подобные провайдеры ошибок? Я спрашиваю об этом, потому что до сих пор мы использовали только провайдер ошибок .NET, и мы чувствуем второй способ, как это странно.
Второй вопрос: при реализации второго сценария мы использовали событие Validating для отображения окна сообщения. Все работало нормально, кроме сценария, когда пользователь меняет поле, а затем нажимает кнопку ОК. В этой ситуации модальная форма не закрывается, и нам нужно реализовать специальный код для отслеживания сфокусированного элемента управления. Сталкивались ли вы с этой проблемой? Вы также внедрили механизм отслеживания фокуса?