如何限制文本框输入小数值,允许小数前最多6位,小数后最多2位
本文关键字:小数 2位 6位 许小数 文本 何限制 输入 | 更新日期: 2023-09-27 17:58:28
在windows应用程序文本框中,用户只能在允许小数前6位和小数后2位的位置输入十进制值。(总位数不能超过8)
---用户应该能够使用"删除"answers"返回"按钮。
示例:-
> Valid - 123456.22 , 12.22,.33,0.44,123.45(123456.22 - total digits 8)
> Invalid - 1234567.22,123.222,-88.99,-888.999
下面是我用来限制的正则表达式。
public bool IsDecimalLimitedtoTwoDigits(string inputvalue)
{
Regex isnumber = new Regex(@"^['d]{1,6}([.]{1}['d]{1,2})?$");
return isnumber.IsMatch(inputvalue);
}
当用户离开单元格时,我在Datagridview中使用验证事件时,上面的代码运行良好。
现在我对用于使用上述方法的Textbox事件感到困惑。
===>我想限制用户输入错误的数据。所以我不使用离开/验证事件,并且上面的正则表达式不满足标准(123456.22-总数字8)。所以请帮助我处理正则表达式。
谢谢,Prathap。
您可以使用Control
的Validating事件并使用ErrorProvider显示验证错误。
例如,请参阅这篇文章,它在"数据格式通知"部分描述了它们的使用。
您只需将方法称为
public bool IsDecimalLimitedtoTwoDigits(string inputvalue)
{
Regex isnumber = new Regex(@"^['d]{1,6}([.]{1}['d]{1,2})?$");
return isnumber.IsMatch(inputvalue);
}
在Textbox Leave
事件中
或
如果您有任何submit
按钮或save
按钮,请验证按钮点击事件内的代码
您可以使用MessageBox
或Errorprovider
控制显示错误消息
如果要在输入时验证数据,则必须在TextChanged
或KeyPress
事件中添加代码
在按键事件中添加
if (! IsDecimalLimitedtoTwoDigits(textbox1.text)
{
e.Handled = true;
}