//GridView显示行号
private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
ShowLineNo(sender, e);
}
public void ShowLineNo(object sender, DataGridViewRowPostPaintEventArgs e)
{
var dgv = sender as DataGridView;
if (dgv == null) return;
try
{
var lineNo = (e.RowIndex + 1).ToString();
var rectangle = new Rectangle(e.RowBounds.Location.X, e.RowBounds.Location.Y, dgv.RowHeadersWidth - 3, e.RowBounds.Height);
//TextRenderer.DrawText(e.Graphics, lineNum, dgv.RowHeadersDefaultCellStyle.Font, rectangle, dgv.RowHeadersDefaultCellStyle.ForeColor, TextFormatFlags.VerticalCenter | TextFormatFlags.Right);
using (var brush = new SolidBrush(dgv.RowHeadersDefaultCellStyle.ForeColor))
{
var format = new StringFormat { LineAlignment = StringAlignment.Center, Alignment = StringAlignment.Far };
e.Graphics.DrawString(lineNo, dgv.RowHeadersDefaultCellStyle.Font, brush, rectangle, format);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}