我有一個自定義的類似TextBox的控件。我想這個處理退格鍵:Backspace只能使用一次?
private void PerformBackspace() {
System.Diagnostics.Debug.WriteLine("Got a backspace. Text is currently \"{0}\".", (object)this.Text);
string newText = this.Text.Substring(0, this.Text.Length - 1);
System.Diagnostics.Debug.WriteLine("Changing text to \"{0}\".", (object)newText);
this.Text = newText;
System.Diagnostics.Debug.WriteLine("Text is now \"{0}\".", (object)this.Text);
}
在OnKeyDown
我把這種方法,和它的作品,但僅限於一個字符。連續兩次退格無效,出於某種原因,您必須在退格間輸入至少一個字符。現在是Substring
只是不工作?這是我退格兩次時得到的輸出:
得到退格。文本目前是「我的 文本框」。
將文本更改爲「我的 文本框」。
文本現在是「我的文本框」。
得到退格。文本目前是「我的 文本框」。
將文本更改爲「我的 文本框」。
文本現在是「我的文本框」。
這很可能是我見過的最奇怪的問題。
爲什麼要解決這個問題? – 2011-04-29 00:48:27
這可能會讓我看到它(請參閱原始評論),謝謝反正。 +1 @Cody Gray:不應該。 – Ryan 2011-04-29 00:49:19