在NumericUpDown中键入时插入一千个分隔符(逗号)

时间:2017-07-13 13:38:25

标签: c# winforms

我们有一个名为ThousandsSeparator的NumericUpDown属性,它在我们完成输入后添加逗号并按任意键离开控件。

在用户还在键入时,是否还有其他属性可以添加ThousandsSeparator?

2 个答案:

答案 0 :(得分:1)

你可以使用KeyPress事件像这样:

private void numericUpDown1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (char.IsDigit(e.KeyChar))
    {
        SendKeys.Send("{ENTER}");
        numericUpDown1.Select();
        SendKeys.Send("{END}");
    }
}

答案 1 :(得分:0)

当用户离开控件时,或者如果用户使用向上和向下按钮更改值,ThousandsSeparator属性将起作用。

在用户键入时不会插入分隔符,因为这将是一个糟糕的用户体验 - 当用户在控件中键入时插入和删除字符对用户来说是令人不安的,并且可能导致输入的值不正确(例如,如果用户使用退格键然后左箭头但退格键已删除两个按键之间的分隔符,则光标可能不在预期位置。)

如果您不关心这些问题,您可以手动一起破解某些东西,但如果控制值可以是数千且用户正在键入值,您可能会问{是{{{ 1}}控制是正确的选择。

相关问题