Я создал диалог, который содержит 3 вкладки. Элементы управления на вкладках 1 и 2 проходят проверку с использованием события Validating()
. Пользователь будет в основном работать на вкладках 1 и 3, никогда не отображая вкладку 2 без необходимости. Все элементы управления на вкладках 1 и 2 связаны с объектом BindingSource.
По моим наблюдениям, связанные элементы управления не инициализируются на вкладке 2, пока вкладка не отобразится. В результате проверка всей формы завершается неудачей, поскольку эти элементы управления не имеют значения. Значение TextBox.Text равно ""
при первом вызове Validating()
и somevalue
после просмотра вкладки.
Я попытался «предварительно инициализировать» элементы управления на вкладке 2 из события Load
(например, TextBox.Value = 'test';
), но обнаружил, что значение было очищено до вызова Validating ().
У меня были мысли о проверке значения из BindingSource.Current, но у этого конкретного решения есть несколько ловушек, особенно BindingSource, содержащий непроверенное значение.
Какие шаги мне нужно предпринять, чтобы:
- инициализировать элементы управления перед их отображением
- получить правильное значение (control или BindingSource) для
Validation()