如果我们可以通过向下按下到底线的末尾,或者通过按下等效移动到上一行的开头,使用箭头键时文本框的导航速度会更快。如果您在带有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;
}
}
}
答案 0 :(得分:0)
你在这里谈论两个不同的平台。果然,无论你在textarea
的底线位置,按 DOWN 都会将你移到那一行的末尾。
我想大多数人会使用 End 键到达当前行的末尾,或 Ctrl + End 到达整个文本输入区域的末尾。
这对于Web和Windows应用程序是通用的,我会质疑有多少人甚至知道特定于Web的行为。我怀疑大多数人会将他们的期望从Windows转移到网络并继续使用 End 等。