如果我第一次输入10位数字需要10位数字,但如果我清除textbox1使用退格键并再次输入它只需要9位数字。它应该需要10位数字,因为我已经设置textbox1.maxlength = 9意味着它应该计数10位数字(0到9)。上的按键文本框不能正常工作
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar != '\b' && textBox1.Text.Trim().Length > 9)
{
e.Handled = true;
MessageBox.Show("You can't enter more than ten digits...");
textBox1.MaxLength = 9;
}
}
如果你将它设置为9它将数到10只,如果的MaxLength设定为9,它会高达数仅9个数字。这意味着0到8 –
'MaxLength'与计数数字无关。这是关于字符串的长度,你的问题不清楚 – Sayse
很少有事情要注意:1)如果MaxLength是10之前,你键入10“数字”,那么你会减少到9这样的编辑后。 2)你没有使用“数字”,但使用“代码单元”。如果用户输入“è”(例如),它将消耗两个System.Char(.NET字符串长度的measure_的_unit)。 3)KeyPress处理将与许多/大部分IME混淆。 –