【问题标题】:How can I highlight specific text in a richtextbox using C#?如何使用 C# 突出显示富文本框中的特定文本?
【发布时间】:2015-10-02 00:04:58
【问题描述】:

标题可能没有意义,所以这里有一个更深入的解释:

我目前正在进行 UI 打字测试,用户在输入提供的示例文本时将被计时。在测试结束时,它需要显示经过的时间,每分钟的字数,我需要在输入文本的地方“用红色突出显示输入错误”。

例如,如果样本是:

“敏捷的棕色狐狸跳过了懒惰的狗。”用户输入:

“那只魁梧的棕狐跳过了懒惰的神。”最终结果需要如下所示:

“敏捷的c棕色狐狸跳过了懒惰的god。” (粗体被替换为红色突出显示)

我该怎么做呢?我的搜索没有找到我正在寻找的结果。

显然我需要澄清一下,我并不是要你为我编写代码。我要求朝正确的方向轻推,因为我不知道如何从框中提取文本的特定部分,将其突出显示并放回原处。

【问题讨论】:

  • 堆栈溢出适用于寻求编程问题帮助的用户。不要让别人为你写代码。您需要做的是向我们展示您尝试过的内容以及您遇到的具体问题。我建议您在发布更多问题之前先回顾一下这次旅行。 stackoverflow.com/tour
  • 我的具体问题是我不知道该怎么做。我不是说“嘿,给我写这个!”我说“嘿,我需要一些帮助,你能给我指出正确的方向吗?”
  • 基本上,您需要从包含要突出显示的文本的 RichTextBox 文档中创建一个 TextRange 对象,然后使用 TextRange 的 ApplyPropertyValue 来设置您想要的属性 - 在这种情况下是前景或背景为红色。这里可能有用的指针:stackoverflow.com/questions/11507240/…
  • 请查看导览,此类问题过于宽泛而离题。您需要问一个比“我该怎么做?”更具体的问题。您在此处提出的问题询问了系统的多个部分。询问指南/教程/等也是题外话。正如我所说,请在继续之前查看站点导览

标签: c#


【解决方案1】:

您知道如何正确获取 RTB.Text 与 RTB.Rtf 吗?

这里有一些你可能喜欢(或不喜欢)的documentation

一旦你知道它们之间的区别,你就会得到文本,用它来构建 rtf 字符串,然后将该字符串分配给 Rtf。

要修改 rtf 字符串中的颜色,您应该查看有关如何使用 rtf 格式化文本的文档。 Here 是我找到的第一个谷歌结果。

祝你好运。

【讨论】:

  • 谢谢,您的链接让我开始思考,最初关于 SelectionColor 属性的一些东西让我找到了我正在寻找的解决方案!
猜你喜欢
  • 2013-01-23
  • 2012-06-26
  • 2014-02-09
  • 1970-01-01
  • 2014-08-15
  • 2010-11-08
  • 2013-01-05
  • 2012-09-08
  • 2019-10-03
相关资源
最近更新 更多