C# 允许在只接受数字的文本框中插入值
我有一个只允许在文本框中输入数字、逗号和退格的代码。但同时,我无法通过ctrl+v插入文本。我该怎么做C# 允许在只接受数字的文本框中插入值,c#,textbox,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 &am
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;
}
}
private void textBox\u按键(对象发送者,按键事件参数e)
{
字符数=e.KeyChar;
如果((e.KeyChar=58)&&number!=8&&number!=44)
{
e、 已处理=正确;
}
}
考虑到您没有检查e.Control属性,因此在此事件中处理的是Ctrl+V。e、 已处理=!e、 控制;将修复您的代码。当然,这不会阻止用户粘贴非数字文本。最好是处理ContextChanged事件并以这种方式阻止输入。这是否回答了您的问题。还有,你有文件吗?这能回答你的问题吗?构建一个从TextBox派生的自定义控件,覆盖CreateParams并添加到样式中:现在TextBox只接受数字(并且您只能粘贴数字)。