开发环境:C# WinForm
有时我们需要在DataGridView上添加行号。怎么做呢?办法很多,这仅是其中一种。
即在RowPostPaint事件中画出来。
注意:需要添加以下引用
using System.Drawing;
代码如下:
private void dgv1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
try
{
Rectangle rectangle = new Rectangle(e.RowBounds.Location.X ,
Convert.ToInt32( e.RowBounds.Location.Y + (e.RowBounds.Height - dgv1.RowHeadersDefaultCellStyle.Font.Size) / 2),
dgv1.RowHeadersWidth - 4, e.RowBounds.Height);
TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(),
dgv1.RowHeadersDefaultCellStyle.Font, rectangle, dgv1.RowHeadersDefaultCellStyle.ForeColor,
TextFormatFlags.Right);
}
catch (Exception ex)
{
Console.Write("dgv1_RowPostPaint:" + ex.Message);
}
}
最后效果如图:
