在DataGridView 的实际使用中,经常需要标示出行号,这样可以比较醒目地看到当前信息。不过DataGridView 在绘制 DataGridViewRow 时没有处理行号,要实现这种效果,需要使用RowPostPaint事件。
主要代码如下:
private bool _isShowLineNumber;
void DataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
if (_isShowLineNumber)
{
string title = (e.RowIndex + 1).ToString();
Brush bru = Brushes.Black;
e.Graphics.DrawString(title, DefaultCellStyle.Font,
bru, e.RowBounds.Location.X + RowHeadersWidth / 2 - 4, e.RowBounds.Location.Y + 4);
}
}