我正在 Windows 窗体中设计一个虚拟数字键盘。请假设我有Del
删除字符的密钥textbox
。当我textbox
第一次单击以选择它然后按下Del
键时,相对于光标位置正确删除了字符。但是在更新文本内容后,SelectionStart
属性变为零,我闪烁的光标消失了。textbox
我通过在更新内容并在最后修改它之前临时保存它的值来解决这个问题。
tempSelectionStart = enteredTextbox.SelectionStart; //save SelectionStart value temporarily
enteredTextbox.Text = enteredTextbox.Text.Substring(0, enteredTextbox.SelectionStart - 1)
+ enteredTextbox.Text.Substring(enteredTextbox.SelectionStart,
enteredTextbox.Text.Length - (enteredTextbox.SelectionStart));
enteredTextbox.SelectionStart = tempSelectionStart-1;
我想知道:
- 有没有更优雅的方法来解决问题?
- 第一次按键后,如何让光标在文本框中闪烁?
谢谢。