我是.Net 初学者。我想根据所选的正则表达式为富文本框中的一些字符着色。这个怎么做?
喜欢:
if (Regex.IsMatch(richTextBox, @"^[a-m]{1}$"))
{
??? //coloring that particular character of richTextBox
}
我应该在里面写什么?可以用标签做同样的事情吗?
我是.Net 初学者。我想根据所选的正则表达式为富文本框中的一些字符着色。这个怎么做?
喜欢:
if (Regex.IsMatch(richTextBox, @"^[a-m]{1}$"))
{
??? //coloring that particular character of richTextBox
}
我应该在里面写什么?可以用标签做同样的事情吗?
如果要遍历所有匹配项。不确定 Regex.Matches 是否曾经返回 null,因此我检查了结果。
MatchCollection matches = Regex.Matches(rtb.Text, @"^[a-m]{1}$");
if (matches != null && matches.Count > 0)
{
foreach (Match m in matches)
{
rtb.Select(m.Index, m.Length);
rtb.SelectionColor = Color.Blue;
}
}
您可以尝试将Paragraph
s 与Run
s一起使用
Paragraph para = new Paragraph {
Foreground = Brushes.Red,
};
para.Inlines.Add(new Bold(new Run(matchingString)));
para.Inlines.Add(new Run(regularText));
myRichTextBox.Document.Blocks.Add(para);
ETC