我有3个RichTextBox:richTextBox1,richTextBox2和richTextBox3。
我运行应用程序并在文本框1和2中输入文本。
因此,richTextBox1的文本为“Test”,而richTextBox2的文本为“ing”。
我现在想要将该文本附加到另一个richTextBox中(保留任何格式,如粗体,下划线等等)
所以我尝试以下代码:
richTextBox3.Rtf = richTextBox1.Rtf + richTextBox2.Rtf;
这不会导致任何错误,但我只从richTextBox1获取文本。所以我得到了“测试”。
那么如何在保持格式的同时复制2个RichTextBox的内容?
TA
答案 0 :(得分:3)
你会想要这样做:
richTextBox3.Rtf = richTextBox1.Rtf
richTextBox3.Select(richTextBox3.TextLength, 0);
richTextBox3.SelectedRtf = richTextBox2.Rtf;
这应该可以解决问题。
答案 1 :(得分:2)
<强>用法:强>
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;
}
}