Я сделал следующий класс, чтобы избежать повторения, если еще код, снова и снова:
public class Error
{
private ErrorProvider errProvider;
public void SetError(Control control, string value)
{
errProvider = new ErrorProvider();
if (control.Text.Trim().Length == 0)
{
errProvider.SetError(control, value);
}
else
{
errProvider.SetError(control, "");
}
}
}
и проверка по текстовому коду
private void textBox1_Validating(object sender, CancelEventArgs e)
{
erp.SetError(textBox1, "Please Enter Name");
}
- После ввода текста в текстовом поле, когда я нажимаю клавишу ввода, он работает нормально;
- Без ввода какой-либо вещи в текстовое поле, так как я нажимаю Enter, это также
работает нормально означает Waring красный значок появляется; НО
- после предупреждения, когда я нажимаю клавишу Tab после ввода текста в текстовое поле,
значок предупреждения не исчезает, его можно удалить.
без класса работает нормально с тем же кодом
обновление