2

如果按下/输入了任何错误的字符,我必须向用户显示一个图标,所以我正在使用 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();
}
4

1 回答 1

6

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

要清除错误消息,请调用 SetError 方法并为 String 值传入 Empty。这会从指定的 Control 中删除错误字形。

于 2012-10-30T10:01:45.160 回答