C# C RichTextBox彩色文本

C# C RichTextBox彩色文本,c#,winforms,richtextbox,textcolor,C#,Winforms,Richtextbox,Textcolor,我有一个RichTextBox,我想要彩色文本。有标签选项吗?我想要这样的东西[颜色:红色]尼克[颜色]一些留言。因为我需要将其保存为文本,并且我希望在重新加载时也有彩色文本 我可以在不编写自己的方法的情况下执行类似操作吗?您可以使用设置RichTextBox中文本的颜色 如果您想将rtf保存为纯文本,则必须查看rtf。例如: {\rtf1\ansi\deff0{\colortbl;\red0\green0\blue0;\red255\green0\blue0;} 该行为默认颜色\line\cf

我有一个RichTextBox,我想要彩色文本。有标签选项吗?我想要这样的东西[颜色:红色]尼克[颜色]一些留言。因为我需要将其保存为文本,并且我希望在重新加载时也有彩色文本


我可以在不编写自己的方法的情况下执行类似操作吗?

您可以使用设置RichTextBox中文本的颜色

如果您想将rtf保存为纯文本,则必须查看rtf。例如:

{\rtf1\ansi\deff0{\colortbl;\red0\green0\blue0;\red255\green0\blue0;} 该行为默认颜色\line\cf2该行为红色\line\cf1 此行是默认颜色}

编辑:

在此示例中-首先,您必须以FolloWing格式声明color table\colortbl:

{\colortbl; color1; color2; ... ; colorN;} 

然后在文本中,您必须用{\cfN YOUR_text}将文本括起来,其中N是表中的颜色数;不能指定块{}的边界,则\cfN之后的所有内容都将是一种颜色。

正如名称所示,RichTextBox包含RichText

要使用“Rtf特定标签”更改Rtf文本,您可以设置/使用

还要看一下如何在代码中为文本模式着色

但是当你不想使用rtf时,你说

需要另存为文本

您可以编写自己的“标记”是否没有内置的expect rtf/html

但是rtf根本就是文本

使用RichTextBix.SelectionColor为文本着色的示例

richTextBox1.Text = "Hello";
richTextBox1.Select(0,2);
richTextBox1.SelectionColor = Color.Red;
将Hello的开头涂成红色
现在您可以访问RichTextBox的RTFProperty中的“taggeg”文本

如果您需要RTF编码的示例,您可以在Word或写字板中手动创建文档,并将其另存为RTF。这将提示您如何对格式进行编码。此外,例如,如果您正在创建帮助文档,您可以将其作为嵌入式资源包含,并将其直接加载到RichTextBox中,包括所有格式

rtfMain.SaveFile(dlgSave.FileName);

从Reference

中,我想用一些简单的方法来实现这一点->[color:red]red text[/color]将在调用某个方法后变成red text。我不知道如何替换这些标签,并在它们之间选择文本,然后使用选择颜色。最简单的方法是以rtf格式保存文本。这是你的选择吗?我不知道这是不是个好办法。我想保存一个很长的对话,rtf格式很长,我不想有这么大的文件。我认为使用常规表达式从标记中获取颜色,重新键入它以获取颜色的位置]和[因此,我可以在和之间选择文本。我知道所有的链接,但我不知道正则表达式和方法来处理字符串,因为我在这里问。在我看来,如果你将重点放在处理纯文本上,将有更多的问题和不必要的编码。这将是双向过程-你必须阅读纯文本,并使其彩色,然后你将不得不阅读rtf,使其标记的文本。我不认为,rtf是那么大:如果你想-学习regexp的边项目,为乞丐更新了我的答案更好的解释