ErrorProvider в пользовательском элементе управления в C # - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть UserControl CambioContraseña с двумя текстовыми полями другого настроенного UserControl под названием txtAlfanumerico.Этот UserContol очень прост, но я хочу добавить ErrorProvider , чтобы проверить, что поля не пусты.Это снимок экрана UserControl:

enter image description here

И это код:

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 иэто результаты:

enter image description here

1 Ответ

0 голосов
/ 08 декабря 2018

Я могу решить мою проблему. Мне кажется, что я не скомпилировал UserControl, когда внес изменения, поэтому ErrorProvider не появился.

enter image description here

...