文本框验证错误提供程序未清除

时间:2012-10-30 09:57:17

标签: c# errorprovider

如果按下/输入任何错误的字符,我必须向用户显示一个图标,所以我使用的是error_provider。

在我的情况下,如果error_provider是文本框中的有效数字,则它不会消失。什么是misatek?

 string text = t_LongitudeRadTextBox.Text;
bool hasDigit = text.Any(letter => Regex.IsMatch(t_LongitudeRadTextBox.Text, "^[0-9]$"));
// Call SetError or Clear on the ErrorProvider.
if (!hasDigit)
{
    errorProvider1.SetError(t_LongitudeRadTextBox, "Needs to contain a digit");
}
else
{
    errorProvider1.Clear();
}

1 个答案:

答案 0 :(得分:5)

调用errorProvider1.Clear();是不够的,如docs所述,你需要给它一个空字符串。与SetError(t_LongitudeRadTextBox, "")

一样
  

要清除错误消息,请调用SetError方法并传入Empty   对于String值。这将从指定的角色中删除错误字形   控制。