2014-04-22 28 views
-3
textBox1.Text = textBox1.Text.Remove((textBox1.TextLength)-1); 

在按鍵事件中,這是我用來刪除最後一個錯誤輸入字符的代碼。 但它會刪除最後一個正確的字符,並首先輸入錯誤的字符。TextBox替換錯誤的字符

例如。我輸入的名稱是「raja」,它刪除最後一個字符'a'並在TextBox中產生「1raj」值。

+0

你的意思是錯誤的字符和正確的字符?試圖刪除重複的字符?我們需要看到更多的代碼。 –

+0

你的問題不清楚。您能否提供輸入和輸出樣本? 預期產量是多少? – abhi

+0

嘗試使用.Text.Lenght textBox1.Text = textBox1.Text.Remove(textBox1.Text.Length - 1); – MrMins

回答

4

KeyPress事件在將新字符輸入到框中之前發生,並且更改其Text屬性將光標移回到開頭。

通過將e.Handled設置爲true,您可以完全忽略該字符。如果更改了Text屬性,則應該使用SelectionStart和SelectionEnd值來查看光標在更改之前的位置,然後再恢復值。

0

您可以使用String.Substring(index,length)。

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