[英]Backspace only works once?
我有一個自定義的類似 TextBox 的控件。 我正在嘗試用這個來處理退格:
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
不工作??? 這是我退格兩次時得到的 output:
有退格鍵。 文本當前是“我的文本框”。
將文本更改為“我的文本框”。
文本現在是“我的文本框”。
有退格鍵。 文本當前是“我的文本框”。
將文本更改為“我的文本框”。
文本現在是“我的文本框”。
這很可能是我見過的最奇怪的問題。
嘗試從 OnKeyUp() 事件中調用它。
事實證明,在按下退格鍵后, '\b'
字符被附加到我的文本中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.