|
分類:[.NET 全般]
最終的な目的は、DataGridViewのある特定セル内の文字列の一部を強調表示したいことなのですが、
その前に、ある特定セル内の文字列を自由に描画できるかどうか試そうと思いました。
下記ソースのように試したのですが、文字が表示されません。
何が原因でしょうか?
ある特定セル内にはきちんと文字が入っている状態なのですが、
このソースを付け加えると、空白になってしまいます。
環境
・WindowsFormアプリ
・C#
・VisualStudio2017
ソース
private void DataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if (e.ColumnIndex == 9 && e.RowIndex >= 0 &&
(e.PaintParts & DataGridViewPaintParts.ContentForeground) ==
DataGridViewPaintParts.ContentForeground)
{
TextFormatFlags flags = TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter;
TextRenderer.DrawText(e.Graphics, "aaa", e.CellStyle.Font, e.CellBounds, Color.Black, flags);
DataGridViewPaintParts paintParts = e.PaintParts & ~DataGridViewPaintParts.ContentForeground;
e.Paint(e.ClipBounds, paintParts);
e.Handled = true;
}
}
|