C# RichTextBox:查找相应的索引
假设我有一个包含以下内容的C# RichTextBox:查找相应的索引,c#,wpf,richtextbox,C#,Wpf,Richtextbox,假设我有一个包含以下内容的WPFRichTextBox: Hello Hello // <== here is a line break \r\n Turn Your Radio On! 之后,我检索var index=text.IndexOf(“Hello\r\nTurn”)和var length=“Hello\r\nTurn”.length 基于索引和长度: 如何在RichTextBox中选择该文本?普通字符串中的索引/长度与RichTextBox的预期不匹配 我尝试了从中的方法,但
WPF
RichTextBox
:
Hello Hello // <== here is a line break \r\n
Turn Your Radio On!
之后,我检索var index=text.IndexOf(“Hello\r\nTurn”)
和var length=“Hello\r\nTurn”.length
基于
索引
和长度
:
如何在RichTextBox中选择该文本?普通字符串中的索引/长度
与RichTextBox
的预期不匹配
我尝试了从中的方法,但如果文本包含换行符/段落,这似乎不起作用
注意:我的字符串操作(查找
索引
/长度
)比示例要复杂得多,但这里给出的示例很好地描述了我的问题RichTextBox有一个选择属性,您可以调用它的“选择”方法。
它接受两个TextPointer对象,一个用于选择开始,另一个用于选择结束
我认为索引和长度属性不足以让您选择文本。你必须得到真正的文本指针
尝试使用一种方法来查找特定的单词TextPointer,如此处指定的-
我尝试了GetPositionAtOffset,但没有任何帮助。@H.B.我在标题中添加了WPF,以表明它与WinForms RichTextBox无关。这是不是让人泄气了?@yas4891:是的,因为我们有标签区。人们通常在做出假设之前检查标签,尤其是在不明显的情况下。(你甚至在第一句话中提到了WPF,所以应该非常清楚)
public static string GetText(this RichTextBox box)
{
var range = new TextRange(box.Document.ContentStart,
box.Document.ContentEnd);
return range.Text;
}