У меня есть форма, содержащая TabControl и ErrorProvider. На одной из вкладок есть несколько текстовых полей и кнопка. Текстовые поля используют событие Validating для SetError(), если содержимое недействительно. Когда кнопка нажата, это работает:C# Errorprovider.ContainerControl.Controls содержит только TabControl
bool ok = true;
foreach (Control c in errorProviderDv.ContainerControl.Controls)
{
MessageBox.Show(c.Name);
if (errorProviderDv.GetError(c) != "")
{
ok = false;
}
}
TabControl является единственным элементом управления в errorProviderDv.ContainerControl.Controls, даже несмотря на несколько ошибок устанавливаются и отображение в форме.
Я что-то не так? Должен ли ErrorProvider быть дочерним элементом вкладки вместо формы?
Вы не можете назначить 'TabControl' или' TabPage' как 'ContainerControl' или' ErrorProvider'. Каково ваше требование? Вы хотите узнать состояние проверки всей «Формы» или только той конкретной вкладки TabPontrol? –
Я просто смотрю на одну TabPage за раз. У меня есть другой ErrorProvider для каждой вкладки. –
Вам не нужно использовать несколько компонентов ErrorProvider. Одного из них достаточно для всей формы. В любом случае вы можете изменить foreach, чтобы посмотреть в '(Control c в Control c в tabControl1.TabPages [0] .Controls)', если вы хотите проверить эти элементы управления. –