Top > プログラミング > .NET Tips > DataGridViewの行ヘッダーに行番号を表示する

DataGridViewの行ヘッダーに行番号を表示する」への評価、コメント

評価

良い / 悪い = 11 / 0 (「良い」の割合 = 1.000 , 人気度 = 1.041

評価する

コメント一覧


評価の理由
匿名 2011/12/27 (Tue) 13:08:12
評価:良い
このままでは、ハイライト時に行数が見づらくなるので、少し変更したコードを記載します。


//列ヘッダーかどうか調べる
if (e.ColumnIndex < 0 && e.RowIndex >= 0)
{
//セルを描画する
e.Paint(e.ClipBounds, DataGridViewPaintParts.All);

//行番号を描画する範囲を決定する
//e.AdvancedBorderStyleやe.CellStyle.Paddingは無視しています
Rectangle indexRect = e.CellBounds;
indexRect.Inflate(-2, -2);

//選択状態を調べて文字色を変更する
Color forecolor;
if (DataGridViewElementStates.Selected == (DataGridViewElementStates.Selected & e.State))
{
forecolor = e.CellStyle.SelectionForeColor;
}
else
{
forecolor = e.CellStyle.ForeColor;
}

//行番号を描画する
TextRenderer.DrawText(e.Graphics,
(e.RowIndex + 1).ToString(),
e.CellStyle.Font,
indexRect,
forecolor,
TextFormatFlags.Right | TextFormatFlags.VerticalCenter);
//描画が完了したことを知らせる
e.Handled = true;
}

評価の理由
匿名 2009/05/25 (Mon) 09:46:40
評価:良い
いつも参考にさせて頂いてます。

コメントの投稿

[説明]