我有一种方法来验证Textbox
private void TextBox_Validation(object sender, CancelEventArgs e, TextBox txt, int requiredLength, string errorMessage)
{
ErrorProvider er = new ErrorProvider();
if (txt.Text.Length < requiredLength)
{
er.SetError(txt, errorMessage);
e.Cancel = true;
}
else
{
er.SetError(txt, null);
e.Cancel = false;
}
}
我从文本框验证事件
运行它private void txtIssueDescription_Validating(object sender, CancelEventArgs e)
{
TextBox_Validation(sender, e, txtIssueDescription, 20, "Desription must have at least 20 letters");
}
问题:即使消息长度大于20,红色指示仍然表示图像中显示的消息。当条件为真时,它就会完成它应该做的事情。
答案 0 :(得分:1)
您每次都在创建新的错误提供程序:
ErrorProvider er = new ErrorProvider();
对表单中存在的ErrorProvider
组件不做任何更改。