允许在只接受数字的文本框中插入一个值

时间:2021-04-20 20:19:42

标签: c# textbox

我有一个代码,它只允许在文本框中输入数字、逗号和退格。但同时,我无法通过 ctrl + v 插入文本。我该怎么做?

private void textBox_KeyPress(object sender, KeyPressEventArgs e)
        {
            char number = e.KeyChar;
            if ((e.KeyChar <= 47 || e.KeyChar >= 58) && number != 8 && number != 44)
            {
                e.Handled = true;
            }
        }

1 个答案:

答案 0 :(得分:0)

考虑到您没有检查 e.Control 属性,您在此事件中处理 Ctrl+V。 e.Handled = !e.Control;将修复您的代码。当然,这不会阻止用户粘贴非数字文本。可能更好地处理 OnTextChanged 事件并防止以这种方式进入。