C#编程-77:DataGridView绘制行序号

实现效果:
C#编程-77:DataGridView绘制行序号


实现代码:
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. namespace DataGridViewLineNum
  11. {
  12.     public partial class Form1 : Form
  13.     {
  14.         public Form1()
  15.         {
  16.             InitializeComponent();
  17.         }
  18.  
  19.         private void Form1_Load(object sender, EventArgs e)
  20.         {
  21.             // TODO:  这行代码将数据加载到表“companyDataSet.clerk”中。您可以根据需要移动或删除它。
  22.             this.clerkTableAdapter.Fill(this.companyDataSet.clerk);
  23.  
  24.         }
  25.  
  26.         private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
  27.         {   
  28.             //绘制矩形区域
  29.             Rectangle rect = new Rectangle(e.RowBounds.Location.X,e.RowBounds.Location.Y,dataGridView1.RowHeadersWidth-10,e.RowBounds.Height);
  30.              
  31.             //绘制行号
  32.             TextRenderer.DrawText(e.Graphics,(e.RowIndex+1).ToString(),dataGridView1.RowHeadersDefaultCellStyle.Font,rect,dataGridView1.RowHeadersDefaultCellStyle.ForeColor,TextFormatFlags.VerticalCenter|TextFormatFlags.Right);
  33.         }
  34.     }
  35. }