2013-02-12 50 views
0

我想在加載標記顏色(某些單詞的「背景」發生更改)後加入richTextBox的具體內容。當我點擊一個按鈕,例如字車被標記。現在我發現了這個代碼,我必須爲我的目的重建。標記richTextBox的具體內容

public bool DoSearch(RichTextBox richTextBox, string searchText, bool searchNext) 
     { 
      TextRange searchRange; 

      // Get the range to search 
      if (searchNext) 
       searchRange = new TextRange(richTextBox.Selection.Start.GetPositionAtOffset(1), 
              richTextBox.Document.ContentEnd); 
      else 
       searchRange = new TextRange(richTextBox.Document.ContentStart, 
              richTextBox.Document.ContentEnd); 

      // Do the search 
      TextRange foundRange = FindTextInRange(searchRange, searchText); 
      if (foundRange == null) 
       return false; 

      // Select the found range 
      richTextBox.Selection.Select(foundRange.Start, foundRange.End); 
      return true; 
     } 

     public TextRange FindTextInRange(TextRange searchRange, string searchText) 
     { 
      // Search the text with IndexOf 
      int offset = searchRange.Text.IndexOf(searchText); 
      if (offset < 0) 
       return null; // Not found 

      // Try to select the text as a contiguous range 
      for (TextPointer start = searchRange.Start.GetPositionAtOffset(offset); 
          start != searchRange.End; 
          start = start.GetPositionAtOffset(1)) 
      { 
       TextRange result = new TextRange(start, start.GetPositionAtOffset(searchText.Length)); 
       if (result.Text == searchText) 
        return result; 

      } 
      return null; 
     } 

有人可以幫我嗎?

+0

我想從'richtextbox'中的單詞改變背景。有了這個代碼,我可以搜索一個單詞,現在我必須將它插入到flowdocument中,更改背景並將其帶回到相同位置的richtextbox。但我不知道我能做到這一點。 – 2013-02-12 10:47:39

+0

FlowDocument從哪裏來?你當然不需要那個。 – 2013-02-12 10:51:40

+0

我以爲我需要一個'FlowDocument'。在程序開始時,我在Richtextbox中加載了一個帶有'FlowDocument'的.txt文件。 – 2013-02-12 10:57:55

回答

1

請嘗試此鏈接,其中包含一個功能HighlightPhrase,它可以更改富文本框中特定字的顏色。在此功能之後,請嘗試調查如何更改背景。

How to Change The Color of Specific Word in Rich textbox using C#

+0

謝謝你,我會試試這個。 – 2013-02-12 10:51:09

+0

其工作窗口窗體,但SelectionStart,SelectionColor,SelectionLength不可用在WPF – 2013-02-12 12:29:47

+0

它如何在WPF中工作? – 2013-02-12 12:38:08