如何在文本框(WPF)中按 Control+Right select 2 个字?

How to select 2 words on pressing Control+Right in textbox (WPF)?

我在 WPF 中有一个文本框,其中包含这样的字符串 总统先生早上好。我的插入符在字符串的开头。当我按 Control + Right 时,插入符号会移动到 morning 之前,但我想让它自己回忆起来。因此,当我按下 Control + Right 时,插入符号会从 Good 之前移动到 Mr 之前。

我该怎么做?

您想要达到的目标的简单蛋糕食谱

while key is pressed:
    move the caret to the the next word.
end while

其中键为 Ctrl + right arrow。要实现这种行为,请查看 KeyPress 事件。

好问题。为此+1。

但恐怕没有默认的方式,当你按Ctrl+右键时,文本框选择2个单词。

唯一可能的解决方案是处理 KeyDownPreviewKeyDown 事件,因为非字符键需要它并找到白色 space 索引并使用下面的代码

将其移动到第二个白色 space
textBoxName.Select(0, textBoxToHighlight.Text.Length);

这是您唯一可以使用的解决方案。在日语等其他语言中,您可以使用条件语句将其手动移动到第一个白色 space。也许您需要为不同于英语的每种语言定义它。