为 DataGridView 添加行号

几何时,曾极度想为 DataGridView 显示每行行号,直接如下赋值:

     dataGridView_main.Rows[0].HeaderCell.Value = "XX";

     这样显示的内容是靠右排列的,当行号一位两位时还勉强可以,当到达三位的时候,如果RowHeader的宽度稍微窄点,这时就只能显示其中一部分,弄不好只显示出两位来,让人误会.考虑好久,没有好的办法.

     今天逛论坛,突然发现有人用绘制文字的方法解决了这个问题,如下:

    Rectangle rt = new Rectangle(e.RowBounds.Location.X, e.RowBounds.Location.Y,      dataGridView_main.RowHeadersWidth - 2, e.RowBounds.Height);
    TextRenderer.DrawText(e.Graphics, e.RowIndex.ToString(), dataGridView_main.RowHeadersDefaultCellStyle.Font, rt, Color.Black);

     赶紧试一下,果然OK,漂亮!!

 

你可能感兴趣的:(datagridview)