我有一个 UserControlCambioContraseñ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
,这些是结果: