我有一个代码,它只允许在文本框中输入数字、逗号和退格。但同时,我无法通过 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;
}
}
答案 0 :(得分:0)
考虑到您没有检查 e.Control 属性,您在此事件中处理 Ctrl+V。 e.Handled = !e.Control;将修复您的代码。当然,这不会阻止用户粘贴非数字文本。可能更好地处理 OnTextChanged 事件并防止以这种方式进入。