【发布时间】:2016-03-26 10:58:34
【问题描述】:
我是 C# 新手。我正在制作一个通用应用程序,并试图让用户只能在文本框中输入一位小数。我看到很多人建议使用 KeyPressed 事件,但这对我不起作用。到目前为止,我有以下工作代码:
private void tbTotal_KeyDown(object sender, KeyRoutedEventArgs e)
{
if (e.Key < Windows.System.VirtualKey.Number0 || e.Key >= Windows.System.VirtualKey.Number9)
{
if (e.Key < Windows.System.VirtualKey.NumberPad0 || e.Key >= Windows.System.VirtualKey.NumberPad9)
{
if (e.Key == Windows.System.VirtualKey.Decimal)
{
e.Handled = true;
}
}
}
}
我怎样才能让它只允许一位小数?先感谢您。
【问题讨论】:
-
在用户输入时尝试验证十进制字段不是一个好策略。最好在用户完成输入后进行验证。请参阅Textbox check with Regex expression not allowing decimal 了解原因。
标签: c#