Loading

Winform中的DatagridView显示行号

1、设置 RowPostPaint 为true

2、启用RowPostPaint事件

/// <summary>
/// DataGridView显示行号
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dataGridWebConfigView_RowPostPaint(object sender,DataGridViewRowPostPaintEventArgs e)
{
    string strRowNumber = (e.RowIndex + 1).ToString();
    while (strRowNumber.Length < dataGridWebConfigView.RowCount.ToString().Length) strRowNumber = "0" + strRowNumber;
    SizeF size = e.Graphics.MeasureString(strRowNumber, this.Font);
    if (dataGridWebConfigView.RowHeadersWidth < (int)(size.Width + 20)) dataGridWebConfigView.RowHeadersWidth = (int)(size.Width + 20);
    Brush b = SystemBrushes.ControlText;
    e.Graphics.DrawString(strRowNumber, this.Font, b, e.RowBounds.Location.X + 15, e.RowBounds.Location.Y + ((e.RowBounds.Height - size.Height) / 2));
}
posted @ 2015-01-20 14:10  jesn  阅读(747)  评论(1编辑  收藏  举报