存储有关RichTextBox文本的所有信息并重建它-C#WinForms

时间:2019-05-25 09:12:34

标签: c# winforms richtextbox

有没有一种方法可以将有关文本的所有信息存储在richtextbox中(颜色,大小,字体等),并在另一个richtextbox中进行重构, 哪个表单或项目不同?

例如,我有一个richtextbox,其文本包含多种字体和颜色,并且某些行居中,我想在另一个richtextbox中对其进行重构。

我补充说,新的richtextbox不在同一个项目中,因此我需要将信息还原到某个位置(例如,即使在字符串或文件中)。

2 个答案:

答案 0 :(得分:3)

要将文本和格式从一个richTextBox复制到另一个,只需使用:

richtextBox2.Rtf = richtextBox1.Rtf;

Rtf属性只是一个字符串,因此您可以像处理字符串一样使用它。

答案 1 :(得分:0)

您可以按照以下步骤进行操作

假设我们有两个项目

第一个是 WinFormApp1 ,第二个是 WinFormApp2

  1. RTF中的RichTextBox1保存在文本文件

    中的 WinFormApp1 中。

    WinFormApp1

        const string path = @"D:\RichTextBox\Example.txt";
    
        var rtbInfo = richTextBox1.Rtf;
    
        if (!File.Exists(path))
        {
            File.Create(path);
            TextWriter textWriter = new StreamWriter(path);
            textWriter.WriteLine(rtbInfo);
            textWriter.Close();
        }
        else if (File.Exists(path))
        {
             File.WriteAllText(path, rtbInfo);
        }
    
  2. 从文本文件中读取数据,并将其分配给 WinFormApp2

    RTF的{​​{1}}

    WinFormApp2

    RichTextBox1