【发布时间】:2014-12-03 01:09:21
【问题描述】:
我目前有一个富文本框,用于显示长字符串。我使用以下代码在字符串中选择一个“重要”项目列表,使其显示为粗体。
foreach (string item in selectionList)
{
if (item.Length != 0)
{
int charStart = richTextBox.Find(item);
richTextBox.SelectionFont = selectedFont;
richTextBox.Select(charStart, item.Length);
}
}
如果重复项目出现在文本中,我想知道选择重复项目的最有效方法。例如。 (本例中以大写突出显示的文本)“我想订购一些汉堡、薯条和薯条”
这只是示例数据,我使用的数据中有一些重复,所以我确实需要能够处理这种情况。 (这与以下查询相同:duplicate selection in text() XPath selector 但在 C# 中)
目前,该项目在 selectionList 中出现了两次,但我的代码仅在 richTextBox 中找到该单词的第一个实例,而最后一个实例未突出显示。我正在使用 C# 和 .net 4.0 在 VS2013 中工作。
非常感谢, 安雅
【问题讨论】:
-
是的,看起来很棒!除了我确实需要选择短语而不是单个单词。而且,仔细观察,这个问题是询问如何查找重复项,我使用 List
来保存我的项目并且可以轻松找到重复项,我现在需要知道选择文本中所有实例的最有效方法,而不是不仅仅是第一个。 -
实际上,如果能够在文本框中选择每个重复项而不需要选择列表中的重复项,那就太好了。例如。 SelectionList = (burgers, chips) 如果能够自动选择每个单词的每个实例,那就太好了。