如何在c#中限制文本框在按键事件中只接受一个十进制数字点

本文关键字:一个 十进制数字 文本 事件 | 更新日期: 2023-09-27 17:53:02

我正在开发一个windows移动应用程序,在这我想限制asp.net文本框只接受一个点在十进制数(c#),所以请建议我如何做到这一点。

如何在c#中限制文本框在按键事件中只接受一个十进制数字点

我只是注册Textbox TextChanged事件。要验证十进制数,可以使用基本正则表达式或decimal。TryParse方法。这两种方法如下所示。

protected void TextBox1_TextChanged(object sender, EventArgs e)
{
   if(!Regex.IsMatch(TextBox1.Text, @"[0-9]+('.[0-9][0-9]?)?"))
      TextBox1.BackColor = Color.Red;
   decimal value;
   if(!decimal.TryParse(TextBox1.Text, out value))
      TextBox1.BackColor = Color.Red;
}

一种方法是使用控件扩展程序。你可以

  1. 通过ajax/javascript检查客户端,确保只输入一个小数,

  2. 您可以在将来的表单的其他文本框中重用扩展器