c#文本框 - 仅接受范围内的浮点数

时间:2013-05-05 10:47:49

标签: c# wpf textbox validation

每当用户尝试输入不在[0, 24]范围内的数字时,它应显示错误消息。我接受浮点数的代码如下。如何修改它以添加范围验证?

private void h(object sender, Windows.UI.Xaml.Controls.TextChangedEventArgs e)
{        
   try
   {
      float time = float.Parse(hours.Text);
   }
   catch
   { 
      label2.Text = "enter proper value ";
      hours.Text = " ";
   } 
}

2 个答案:

答案 0 :(得分:2)

我知道不鼓励只是发布一个链接作为答案,但在这种情况下,该链接是问题的直接和完整答案。

Validation Class

答案 1 :(得分:0)

我建议使用float.TryParse,而不是在解析失败的情况下构建try-catch块。 TryParse将返回out变量中的解析值,如果解析成功则返回true,否则返回false。将它与检查结合起来,看看数字是否在0到24之间,你有一些看起来像这样的东西:

float parsedValue;

// If the parse fails, or the parsed value is less than 0 or greater than 24,
// show an error message
if (!float.TryParse(hours.Text, out parsedValue) || parsedValue < 0 || parsedValue > 24)
{
    label2.Text = "Enter a value from 0 to 24";
    hours.Text = " ";
}