Как заставить проверку UserControl? - PullRequest
2 голосов
/ 08 марта 2019

Проверки для моих элементов управления текстового поля работают нормально / как ожидалось.Однако для моего созданного UserControl, также содержащего текстовое поле (которое также содержит и другие элементы управления), оно не всегда проверяется, за исключением случаев, когда пользователь вручную выбирает / фокусирует другой элемент управления, который, конечно, запускает событие Validating.

Теперь, я нашел из запросов о Form.ValidateChildren() (, который работает между прочим ), но этот метод проверяет все дочерние элементы, как описано в документации, котораяне идеальное решение для формы с множеством элементов управления, в отличие от проверки только одного элемента управления.

Дополнительная информация:

  1. Я использую ErrorProvider для отображения ошибок - Iнужно учитывать положение значка в случае моего UserControl (который опять же содержит несколько элементов управления внутри).
  2. Validating и Validated события выполняются на моих UserControl, не TextBox внутри него.Оба события находятся в форме, где используется usercontrol.
  3. Свойство 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, на что нацелены все элементы управления формы?Или это невозможно?

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