【发布时间】:2012-04-15 20:55:47
【问题描述】:
使用箭头键时,如果我们可以通过按下到达底行的末尾,或者通过按下等效的方式移动到上行的开头,文本框的导航速度会更快。如果您在带有 HTML 输入或 textarea 的网页中尝试它,这是有效的。但是对于 Windows 窗体文本框控件,它与记事本具有相同的行为。当您按下向下或向上箭头键时,它会将光标从整个文本的末尾或开头移动。它也应该在使用向上和向下箭头键突出显示文本时表现出来。
关于如何在 C# 或 vb.Net 中实现这一点有什么想法吗?提前致谢。
这是当前工作的高亮显示,但仅适用于 shift+Down 键:
if ((keyData == (Keys.Shift | Keys.Down))) {
if (ctl is TextBoxMaskBox) {
var edit = ctl as TextBoxMaskBox;
int selectionLength = edit.MaskBoxSelectionLength;
int remTextLength = edit.MaskBoxText.Length - edit.MaskBoxSelectionLength;
string remText = edit.MaskBoxText.Substring(selectionLength, remTextLength);
if (remText.IndexOf(Environment.NewLine) == -1) {
edit.MaskBoxSelectionLength = edit.MaskBoxText.Length;
return true;
}
}
}
【问题讨论】:
-
@Yahia,编辑了问题并提供了上面的当前工作代码。