如果DataGridView控件能显示行号,对我们寻找数据就非常方便,但DataGridView默认的属性中,不可设置显示行号。本文在DataGridView的RowPostPaint事件中进行绘制,实现了这个功能,其效果如下:
为了表示行号,我们可以在DataGridView的RowPostPaint事件中进行绘制。RowPostPaint事件,具体可以参照MSDN。
下面是实现代码:
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Drawing.Imaging;usingSystem.Text;usingSystem.Windows.Forms;namespaceDrawRowIndex{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidForm1_Load(objectsender,EventArgse){dataGridView1.Dock=DockStyle.Fill;dataGridView1.DataSource=ImageCodecInfo.GetImageDecoders();}privatevoiddataGridView1_RowPostPaint(objectsender,DataGridViewRowPostPaintEventArgse){Rectanglerectangle=newRectangle(e.RowBounds.Location.X,e.RowBounds.Location.Y,dataGridView1.RowHeadersWidth-4,e.RowBounds.Height);TextRenderer.DrawText(e.Graphics,(e.RowIndex+1).ToString(),dataGridView1.RowHeadersDefaultCellStyle.Font,rectangle,dataGridView1.RowHeadersDefaultCellStyle.ForeColor,TextFormatFlags.VerticalCenter|TextFormatFlags.Right);}}}本文源自:翔宇亭——IT乐园(http://),转载请保留此信息!