Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 允许在只接受数字的文本框中插入值_C#_Textbox - Fatal编程技术网

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

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

我有一个只允许在文本框中输入数字、逗号和退格的代码。但同时,我无法通过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;
            }
        }
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只接受数字(并且您只能粘贴数字)。