.NET 4.0中文本框的文本输入验证

时间:2013-07-29 14:56:18

标签: c# validation events

我想验证(以某种简单的方式)如果文本框的输入文本是数字,我会使用此代码:LINK

但这是一个问题:我使用.NET 4.0而不是4.5,因此我没有PreviewTextInput个事件。

我可以使用TextChanged,但现在它没有e.Handled验证程序。

有没有简单的解决方案(我想避免大量的代码)?

2 个答案:

答案 0 :(得分:2)

如果您有权访问将保存该值的属性,则可以在该属性上使用DataAnnotation。

[RegularExpression(Pattern="[0-9]+")]
public string MyProperty { get; set; }

这篇MSDN文章更深入地探讨了这一主题。

答案 1 :(得分:0)

很难确定数字是什么,不是。我会用TryParse。如果失败则不是数字。

string s = "12345";

int number;
bool result = int.TryParse(s, out number);

if(!result)
{
    // not a number.
}