use*_*638 2 .net c# textbox currency winforms
我在c#winforms中有一个文本框.
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsNumber(e.KeyChar) & (Keys)e.KeyChar != Keys.Back
& e.KeyChar != ',')
{
e.Handled = true;
}
base.OnKeyPress(e);
}
Run Code Online (Sandbox Code Playgroud)
上面的代码工作得很好,但我可以添加2个逗号,如"100 ,, 00".我怎样才能让用户添加"100,00"或"100,000,000",1个逗号作为货币格式?
任何帮助将不胜感激.
谢谢.
不是你的实际问题的直接答案,但绝对是你应该考虑的建议:使用a MaskedTextBox,而不是a TextBox.
A MaskedTextBox具有Mask充当文本值模式的属性.在你的情况下,适当的面具可能会#,###.##.请注意,根据文档,您的程序集在小数分隔符上可能不是逗号.不过,你仍然可以将其转换为数值,这无论如何都是你想要的.
更新:
作为一个额外的建议,像devexpress这样的第三方供应商提供的控件具有更高级的掩码输入,可以使用传统掩码以及基于正则表达式的验证器.如果你能负担得起钱,可能需要考虑一下.
| 归档时间: |
|
| 查看次数: |
8517 次 |
| 最近记录: |