【问题标题】:Textbox validation error provider is not clearing文本框验证错误提供程序未清除
【发布时间】:2012-10-30 09:57:17
【问题描述】:

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

【问题讨论】:

    标签: c# errorprovider


    【解决方案1】:

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

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

    【讨论】:

    • else { errorProvider1.Clear(); errorProvider1.SetError(t_LongitudeRadTextBox, ""); } //它是这样工作的//
    • 怎么样,接受双精度的 reg exp 是什么,这是 "^\d*\.?\d*$" 不起作用。
    • 这听起来像是一个新问题(你得到了错误提供者的工作,对吧?)...我不喜欢正则表达式,抱歉 :-)
    • Afaik 是可能的,但在大多数情况下,它只需要一个实例......请参阅此处 fx some-dev.blogspot.dk/2011/02/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 2019-03-01
    • 1970-01-01
    • 2014-03-08
    相关资源
    最近更新 更多