Проверки для моих элементов управления текстового поля работают нормально / как ожидалось.Однако для моего созданного UserControl
, также содержащего текстовое поле (которое также содержит и другие элементы управления), оно не всегда проверяется, за исключением случаев, когда пользователь вручную выбирает / фокусирует другой элемент управления, который, конечно, запускает событие Validating
.
Теперь, я нашел из запросов о Form.ValidateChildren()
(, который работает между прочим ), но этот метод проверяет все дочерние элементы, как описано в документации, котораяне идеальное решение для формы с множеством элементов управления, в отличие от проверки только одного элемента управления.
Дополнительная информация:
- Я использую
ErrorProvider
для отображения ошибок - Iнужно учитывать положение значка в случае моего UserControl
(который опять же содержит несколько элементов управления внутри). Validating
и Validated
события выполняются на моих UserControl
, не TextBox внутри него.Оба события находятся в форме, где используется usercontrol. - Свойство
Text
TextBox
внутри моего UserControl
изменяется внутри (внутри моего UserControl
класса)
`
//some code inside usercontrol
private void SomeMethod()
{
...
textBox.Text = ...;
ParentForm.ValidateChildren(); // works but does this on all controls which is not the ideal operation, which is to perform validation only on this usercontrol
}
`
С вышеупомянутой информацией, когда я изменяю свойство Text
вручную, событие Validating, как и ожидалось в проекте, не возникаетс UserControl.TextBox
! = UserControl
.Я не могу выполнить проверку на UserControl.TextBox
вместо UserControl
.
. С учетом всего этого, как мне вручную / принудительно вызвать проверку только дляUserControl
, когда UserControl.TextBox.Text
изменяется, не прибегая к Form.ValidateChildren
, на что нацелены все элементы управления формы?Или это невозможно?