0

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

在此处输入图像描述

4

1 回答 1

0

我可以解决我的问题我认为我在进行更改时没有编译 UserControl,所以 ErrorProvider 没有出现。

在此处输入图像描述

于 2018-12-08T16:23:46.000 回答