WinForms中多色文本框的最佳实践
本文关键字:最佳 文本 WinForms | 更新日期: 2023-09-27 18:02:30
我目前正在使用WinForms开发c#工具。-它读取和修改。txt文件,我想把我们在IDE中看到的基本功能之一:颜色编码。
我正在处理的。txt文件中有一些关键字和短语,为了让用户更容易地阅读内容,这些关键词和短语将非常有用。
到目前为止,我发现了一个关于使用RichTextBox和定义一个选择的帖子,然后你给一个不同的颜色。当我想继续对内容进行评估和着色时,这对我来说似乎超级低效,而且出于某种原因,我的一部分告诉我这是丑陋的代码。richTextBox1.SelectionFont = new Font("Verdana", 12, FontStyle.Bold);
richTextBox1.SelectionColor = Color.Red;
我最初希望有一种方法来编码文本的方式(如html),以便在将其输入文本框之前为其特定部分上色,然后在可编辑的字段中正确呈现它。但这似乎不是一个真正的选择。
做这样的事情的最佳实践是什么?多色编码可编辑的文本字段。我错过什么了吗?有没有一种"漂亮"的方式来做到这一点?
我希望我问的是有意义的,我没有做过很多UI编程。谢谢你的帮助。
当你修改RTF文本并使用richTextBox1.Rtf = yourModifiedTextString;
实现步骤:
-
从strFileText变量中读取文本
-
使用
richTextBox1.Text = strFileText;
将该文本设置为richTextBox 读取
string strRichText = richTextBox1.Rtf;
生成的富文本(rtf文本)将文本中的关键字替换为您的颜色的富文本格式
strRichText = strRichText.Replace("int", "'cf2 int 'cf1"); // to show int in second colour in colour table and then set the colour for next text back to default colour (colour 1)
设置Rtf文本为
richTextBox1.Rtf = strRichText;
我希望这能给你一个你所要求的想法。
有关如何在RTF中添加字体和颜色的详细信息,请阅读
- RTF Basic (Simple Tutorial) RTF v1.5规格(详细)
- RTF v1.6规格