我正在写一个小小的财务相关的应用程序,并且希望确保我的用户知道如何写一个十进制值(使用DOT而不是COMMA。)WinForms,在Text.Replace后设置输入光标在文本末尾
要确保输入正确,我已按如下方式将控件提交给TextChanged事件。
// Remove people not knowing how to write decimals.
if (ExpenseValueTB.Text.Contains(',')) {
ExpenseValueTB.Text = ExpenseValueTB.Text.Replace(',', '.');
ExpenseValueTB.Focus();
}
现在,这绝对有效,但不幸的是输入光标跳回到开头。因此,如果有人想写'15,96' ,他们最终书写9615.
我环顾四周,但其他类似的问题是JS或PHP
非常感谢!
请注意,用户可能想要输入123,45.67,因此不是每个逗号都应该被点替换。 – Bolu
谢谢博卢,没错。虽然我的计划是管理小家庭开支。我应该考虑一下,但对于未来的实施。基本上我应该只允许一个点,作为浮点分频器。 –