Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/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# 限制用户输入0作为第一个字符,但允许文本框中输入10_C#_C# 4.0 - Fatal编程技术网

C# 限制用户输入0作为第一个字符,但允许文本框中输入10

C# 限制用户输入0作为第一个字符,但允许文本框中输入10,c#,c#-4.0,C#,C# 4.0,我在Windows应用程序上有一个文本框,用户只能输入3位数的长度,不允许只输入0,但应该能够输入10。。。用户应该能够进行退格删除。 我有下面的代码,即使输入10也限制0 private void radtxt_KeyPress(object sender, KeyPressEventArgs e) { if ((!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar)) ||

我在Windows应用程序上有一个文本框,用户只能输入3位数的长度,不允许只输入0,但应该能够输入10。。。用户应该能够进行退格删除。 我有下面的代码,即使输入10也限制0

 private void radtxt_KeyPress(object sender, KeyPressEventArgs e)
 {
     if ((!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar)) 
                ||  (e.KeyChar == '.' || (e.KeyChar == '0'))
     {
         e.Handled = true;
     }
 }

每次用户更改文本框值时,请尝试选中该值。然后,若值等于零,则根据需要更改它。
另一方面,我建议您阅读一些有关验证的内容。

您应该只检查radtxt的第一个字符。但是复制/粘贴呢?不要使用按键事件进行输入验证。用户可以通过上下文菜单粘贴值0。使用蒙面的文本框,不要重新发明轮子。另外,在提问之前,请阅读并尝试搜索。我将尝试MaskedTextBox。您真的需要阻止他们输入前导零吗?如果他们输入010,你能不能把它当作输入10?这是业务要求。