将两个RichTextbox的内容附加为单个RichTextstring

我想在Windows Forms .Net应用程序中附加两个富文本框的内容; 说: stringText = richtextbox1.Rtf + richtextbox2.Rtf; stringText文本应该是RTF文本,它应该有\ rtf行一次,连接丰富的文本。

剪贴板不在这里范围。

另外,我很好奇,如果我们可以将它们合并。

Solutions Collecting From Web of "将两个RichTextbox的内容附加为单个RichTextstring"

尝试这个:

 richTextBoxTarget.Select(richTextBoxTarget.TextLength, 0); richTextBoxTarget.SelectedRtf = richTextBoxSource.Rtf; 

这将richTextBoxSource的内容合并到richTextBoxTarget的末尾。 它只用一个\ rtf标签自动创建有效的RTF。
要解除合并,也可以使用SelectSelectedRtf 这里唯一的要求是,你需要知道,你想要在什么位置分裂。

不知道这是否有用,但上面的代码重新格式化为扩展方法。 这让你说:

 textBox.AppendRtf(someRtfString) 

它可以与RichTextBox类的AppendText()方法轻松匹配。

 ''' <summary> ''' Appends the provided RTF-formatted string to the provided <see cref="RichTextBox"/>. ''' </summary> <Extension()> _ Public Sub AppendRtf(ByVal rtbTextBox As RichTextBox, ByVal strRtf As String) rtbTextBox.Select(rtbTextBox.TextLength, 0) rtbTextBox.SelectedRtf = strRtf End Sub 

我知道这是个老问题,但似乎是一个普遍的问题。 因此,我要添加我的答案,导致标记的答案使RTF的连接,但它也提供了一个额外的新行,每一次。

这将是:

 RichTextBoxSource.Select(0,RichTextBoxSource.TextLength); RichTextBoxTarget.SelectedRtf = richTextBoxSource.SelectedRtf; 

这很容易,工作正常。 希望它会帮助某人:)