我希望将插入符号向右移动4个位置。我已经注册了PreviewKeyDown
事件,并在捕获Tab键时调用InsertTextInRun()
方法,如下所示:
private void rtb_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Tab)
{
rtb.CaretPosition.InsertTextInRun(" ");
e.Handled = true;
}
}
问题在于,在调用
InsertTextInRun()
后,插入符号停留在原地。它没有移动到新文本的末尾,而这正是我想要的行为。我该怎么做?另外 - 是的,我知道
RichTextBox
上的AcceptsTab
属性。我选择忽略它并自己编写制表符功能,因为使用AcceptsTab
进行制表会在后续行上缩进文本,这不是我想要的行为。