C# 限制用户输入0作为第一个字符,但允许文本框中输入10
我在Windows应用程序上有一个文本框,用户只能输入3位数的长度,不允许只输入0,但应该能够输入10。。。用户应该能够进行退格删除。 我有下面的代码,即使输入10也限制0C# 限制用户输入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)) ||
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?这是业务要求。