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

lin*_*ini 1 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();
}
Run Code Online (Sandbox Code Playgroud)

Tho*_*mas 5

调用errorProvider1.Clear();是不够的,如您需要给它一个空字符串的文档中所述.喜欢SetError(t_LongitudeRadTextBox, "")

要清除错误消息,请调用SetError方法并传入Empty作为String值.这将从指定的Control中删除错误标志符号.