DataGridViewのテキストの特定の文字の背景色を変えるには?

解決


アニス  2009-12-16 15:25:02  No: 146654  IP: [192.*.*.*]

VB2008を使用しています。
XMLのデータを読み込み、DataGridViewに表示させているのですが、
DataGridViewの各セル内で、XMLデータの検索に使った文字の部分を黄色にハイライト表示させることはできるでしょうか?
例えば、セル内文字が「XMLデータの検索に使った文字の部分を黄色にハイライト表示させることはできるでしょうか?」で、
検索に使われたキーワードが「文字」だった場合、「文字」という部分の背景色を黄色にしたいのです。
ちなみに、DataGridViewはReadOnly=Trueです。
よろしくお願いします。

編集 削除
魔界の仮面弁士  2009-12-16 15:40:35  No: 146655  IP: [192.*.*.*]

セル単位の色付けで良いのであれば、CellFormatting イベントで、

Dim dgv As DataGridView = CType(sender, DataGridView)
If CStr(e.Value) = "文字" Then
  e.CellStyle.BackColor = Color.Yellow
End If

などと記述できます。


しかし、一つのセル内の文字単位で色を付けたいとなると話は面倒で、
CellPainting イベントを利用して、背景/文字/セル枠線を
自前で描画していかなければならないと思います。

編集 削除
アニス  2009-12-16 15:44:59  No: 146656  IP: [192.*.*.*]

魔界の仮面弁士さま、ご回答ありがとうございました。
CellPaintingイベントですか。。。
ちょっと調べてみます。

編集 削除