-1

私は.Netの初心者です。選択した正規表現に基づいて、リッチテキストボックス内の一部の文字に色を付けたい。これを行う方法?

好き:

if (Regex.IsMatch(richTextBox, @"^[a-m]{1}$"))
{
   ??? //coloring that particular character of richTextBox
}

何を書けばいいの?ラベルを使用して同じことができますか?

4

2 に答える 2

2

すべての試合を繰り返したい場合。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;
     }
 }
于 2012-10-12T11:52:36.243 に答える
0

ParagraphsとRunsを一緒に使ってみることができます

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);

于 2012-10-12T11:52:37.460 に答える