【发布时间】:2014-06-19 15:29:13
【问题描述】:
有一种方法可以强制 c# NumericUpDown 同时接受逗号和点,以分隔十进制值?
我已经自定义了一个文本框来执行此操作(实际上用逗号替换点),但我很惊讶没有其他方法..
This 问题解释了如何更改分隔符,但我想同时使用!
【问题讨论】:
-
为什么要同时使用两者?如果是针对多个应用程序部署/用户,您应该使用他们的本地文化,因为允许逗号和点作为小数分隔符对于某些用户来说可能会非常混乱。 NumericUpDown 不允许这种行为。您可以强制对 valueChanged 或 keydown 进行逗号/点转换吗?
-
问题是使用另一个分隔符不会出错:它只是忽略了它犯了严重的错误,我想避免它。我正在开发一个商业软件,默默地将 10.22 转换为 1022 可能是个大问题!!
-
@Nicolas R:在 valueChanged 和 keydown 事件中可访问的值已经转换(错误的分隔符已被删除),我无法返回插入的值...
-
改用 KeyPress(看我的回答)
标签: c# decimal numericupdown