Почему для кнопок .CausesValidation по умолчанию установлено значение True для кнопок? - PullRequest
2 голосов
/ 21 августа 2009

При создании экземпляра кнопки в приложении .NET WinForms для свойства .CausesValidation устанавливается значение True. Почему все кнопки должны вызывать события проверки? Не означает ли это, что по умолчанию все элементы управления в форме с событиями _Validating будут вызывать это событие всякий раз, когда кнопка просто получает фокус?

Разве не фокусируется на кнопке немного рано для вызова событий проверки? Особенно по умолчанию? Кнопка click выглядит намного более подходящим временем по умолчанию для проверки.

Я спрашиваю, потому что хотел бы убедиться, что правильно понимаю шаблон проверки WinForms.

1 Ответ

3 голосов
/ 22 августа 2009

Я думаю, это самое безопасное из двух зол. Часто кнопки обрабатывают данные; наоборот, если вы ничего не делаете, по умолчанию ваши данные проверяются, и это будет довольно очевидно (так как это не сработает), если вы на самом деле не хотите их проверять.

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

Первое, вероятно, безопаснее, даже если оно вызывает небольшое раздражение.

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