Игнорирование проверки TextBoxes при нажатии определенной кнопки - PullRequest
2 голосов
/ 25 мая 2011

У меня есть форма Windows с TextBox элементами управления и Button.Событие Validating каждого TextBox гарантирует, что только правильно сформированные входные данные могут быть отправлены (duh).Button - это кнопка clear , которая сбрасывает форму, очищает значения текстовых полей и т. Д. Если я написал что-то недопустимое в TextBox, а затем нажмите кнопку clear , проверка, конечно, срабатывает, и я получаю MessageBox, говорящий мне это.Таким образом, я не могу использовать кнопку Очистить , пока я не удаляю вручную недействительный TextBox.

Я понимаю, что причина возникновения события Validating состоит в том, что TextBox теряет фокус при нажатии кнопки clear , но есть ли способ игнорировать проверку в этом случае?

Я попытался отключить Form.AutoValidate, но потом я никогда не получал никакой проверки, что не совсем то, что я хочу.

1 Ответ

1 голос
/ 25 мая 2011

Для вас должно быть достаточно установить свойство CausesValidation кнопки очистки на false. Этот способ проверки не запускается, если выбрано текстовое поле и нажата кнопка.

Из записи MSDN для Причины проверки :

Получает или задает значение, указывающее, вызывает ли элемент управления проверку на любых элементах управления, требующих проверки при получении фокуса.

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