投稿者 るきお  (社会人) 投稿日時 2010/10/10 19:54:27
こんにちは。


RichTextBoxの表示で"abc"の部分だけを青くするには次のようにします。
    
Dim pattern As String = "abc"
Dim matches = System.Text.RegularExpressions.Regex.Matches(RichTextBox1.Text, pattern)

For Each match As System.Text.RegularExpressions.Match In matches
    Dim start As Integer = match.Index
    Dim length As Integer = match.Length
    RichTextBox1.Select(start, length)
    RichTextBox1.SelectionColor = Color.Blue
Next


"efg"を赤くするには次のようにします。
    
Dim pattern As String = "efg"
Dim matches = System.Text.RegularExpressions.Regex.Matches(RichTextBox1.Text, pattern)

For Each match As System.Text.RegularExpressions.Match In matches
    Dim start As Integer = match.Index
    Dim length As Integer = match.Length
    RichTextBox1.Select(start, length)
    RichTextBox1.SelectionColor = Color.Red
Next


以上の例では文字列"abc"や"efg"の検索に正規表現を使っているので対象の文字列に記号が含まれている場合は一工夫必要な場合があります。(正規表現のことがわかっていれば特別な工夫は必要ないです。)
参考に、".Tranin"を赤くする例を紹介します。
    
Dim pattern As String = "\.Train"
Dim matches = System.Text.RegularExpressions.Regex.Matches(RichTextBox1.Text, pattern)

For Each match As System.Text.RegularExpressions.Match In matches
    Dim start As Integer = match.Index
    Dim length As Integer = match.Length
    RichTextBox1.Select(start, length)
    RichTextBox1.SelectionColor = Color.Red
Next