如何从 RichTextBox 中的光标位置选择前一个字符

Posted

技术标签:

【中文标题】如何从 RichTextBox 中的光标位置选择前一个字符【英文标题】:How can I select the previous char from the cursor position in a RichTextBox 【发布时间】:2011-09-01 03:10:09 【问题描述】:

我正在制作一个组合框来更改richTextBox 的字体,并且我希望能够在单击其中的特定文本时自动更改组合框的选择,以匹配其字体。我认为,在文本上添加一个 onClick 事件是合适的。此事件将采用当前光标位置并在先前位置和当前位置之间的范围内进行选择。我将能够从此选择中获取字体。

如果您知道如何,或者可以找到更好的方法来完成此操作,感谢您的回复!

【问题讨论】:

【参考方案1】:

您不需要实际创建选择范围,只需查看rtb.SelectionFont.Name 将从当前插入符号位置返回字体名称(即无需选择任何内容)

【讨论】:

C# 中的 RichTextBox 不存在 SelectionFont。我发现的只是 rtb.Selection.GetPropertyValue(RichTextBox.FontFamilyProperty),它没有找到任何值,因为没有选择文本。光标位于特定的位置,仅此而已。感谢强硬的帮助 啊,在windowsforms里面,你用的是WPF? 是的,对不起,我只是忘记了这个微妙之处。我添加了一个新标签。 rtb.Selection.GetPropertyValue(TextElement.FontFamilyProperty).ToString(); 看起来也一样 嗯,你是对的。我之前看到过这个解决方案,但是我的代码中有一个错误阻止它工作。感谢您帮助我认识到我的错误。

以上是关于如何从 RichTextBox 中的光标位置选择前一个字符的主要内容,如果未能解决你的问题,请参考以下文章

WPF RichTextBox 如何滚动到光标所在位置滚动条操作

在C#的RichTextBox中如何使特定文字显示颜色

c# 如何让richtextbox第一行居中显示,在form_load时候,而不是选择第一行再设置

C# 在 RichTextBox 中右键单击移动光标

如何使用 RichTextBox 消除烦人的 BEEP

C# winform中richTextBox中自动滚至底部