【发布时间】:2015-09-01 11:09:49
【问题描述】:
我正在 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;
我想知道:
- 有没有更优雅的方法来解决这个问题?
- 第一次按键后如何让光标在文本框中闪烁?
谢谢。
【问题讨论】:
标签: c# winforms textbox virtual numpad