2014-07-25 67 views
0

我有3個RichTextBoxes:richTextBox1,richTextBox2和richTextBox3。將富文本格式的文本從2個RichTextbox添加到C中的另一個RichTextBox中#

我運行應用程序和文本輸入到文本框1和2

所以對於richTextBox1文字是「測試」和richTextBox2是「ing」的。

我現在想的文本一起追加,放入另一RichTextBox中(保持如粗體任何格式,下劃線等)

所以我嘗試下面的代碼:

richTextBox3.Rtf = richTextBox1.Rtf + richTextBox2.Rtf; 

這不會導致任何錯誤,但我只從richTextBox1獲取文本。所以我得到「測試」。

那麼如何在保持格式的同時複製2個RichTextBox的內容呢?

回答

1

你會想這樣做:

richTextBox3.Rtf = richTextBox1.Rtf 
richTextBox3.Select(richTextBox3.TextLength, 0); 
richTextBox3.SelectedRtf = richTextBox2.Rtf; 

這應該做的伎倆。

+0

感謝。按需要工作。 – Sun

1

用法:

richTextBox3.Rtf = MergeRtfTexts(new RichTextBox[] { richTextBox1, richTextBox2}); 

RTF合併功能:

private string MergeRtfTexts(RichTextBox[] SourceRtbBoxes) 
    { 
     using (RichTextBox temp = new RichTextBox()) 
     { 
      foreach (RichTextBox rtbSource in SourceRtbBoxes) 
      { 
       rtbSource.SelectAll(); 
       //move the end 
       temp.Select(temp.TextLength, 0); 
       //append the rtf 
       temp.SelectedRtf = rtbSource.SelectedRtf; 
      } 
      return temp.Rtf; 
     } 
    } 
相關問題