TextBox替换错误的字符

时间:2014-04-22 13:51:28

标签: c# winforms

textBox1.Text = textBox1.Text.Remove((textBox1.TextLength)-1);

在按下键的事件中,这是我用来删除最后一个错误输入字符的代码。 但是它会删除最后一个正确的字符并首先输入错误的字符。

例如。我输入的名字是" raja",它删除了最后一个字符' a'并生产" 1raj" TextBox中的值。

2 个答案:

答案 0 :(得分:4)

KeyPress事件发生在新字符输入框之前,更改其Text属性会将光标移回到开头。

通过将e.Handled设置为true,您可以使用该事件完全忽略该字符。如果 更改Text属性,则应使用SelectionStart和SelectionEnd值来查看光标在更改之前的位置,然后恢复值。

答案 1 :(得分:0)

您可以使用String.Substring(索引,长度)。

textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1);