У меня есть UserControl CambioContraseña
с двумя текстовыми полями другого настроенного UserControl под названием txtAlfanumerico
.Этот UserContol очень прост, но я хочу добавить ErrorProvider , чтобы проверить, что поля не пусты.Это снимок экрана UserControl:
И это код:
public bool FaltaCampos() {
bool falta = false;
foreach(txtAlfanumerico txt in Controls.OfType < txtAlfanumerico > ()) {
if (txt.Text == "") {
errorProviderFalta.SetError(txt, "Falta " + txt.Tag.ToString());
falta = true;
} else {
errorProviderFalta.SetError(txt, "");
}
}
return falta;
}
И код, в котором яиспользуйте этот UserControl:
private void buttonConfirmar_Click(object sender, EventArgs e) {
try {
if (!cambioContraseña1.FaltaCampos()) {
string actual = cambioContraseña1.TextBoxContraseñaActual();
string nueva = cambioContraseña1.TextBoxNuevaContraseña();
persona.CambiarContraseña(actual, nueva);
}
} catch (Exception ex) {
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
Но моя проблема в том, что ErrorProvider не работает в форме, которую я использую, значки не отображаются напрямую.
Я сделал точку останова в FaltaCampos
иэто результаты: