你可以在数据绑定或者行数有很大变化时测量一下DataGridView最大行数的行数的宽度然后在绘制代码如下SolidBrushsolidBrush;StringFormatstringFormat=newStringFormat();privatevoidForm36_Load(objectsender,EventArgse){solidBrush=newSolidBrush(dataGridView1.RowHeadersDefaultCellStyle.ForeColor);stringFormat.Alignment=StringAlignment.Center;//垂直居中stringFormat.LineAlignment=StringAlignment.Center;//水平居中stringFormat.FormatFlags=StringFormatFlags.NoWrap;//不自动换行DataTabledataTable=newDataTable();dataTable.Columns.Add("AA");for(inti=0;i<111111;i){dataTable.Rows.Add(newobject[]{i});}dataGridView1.DataSource=dataTable;SetRowHeadersWidth();//在数据源改变或者行数有很大变化时调用这个
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
}privatevoidSetRowHeadersWidth(){intline=dataGridView1.Rows.Count;Sizesize=TextRenderer.MeasureText(line.ToString(),dataGridView1.RowHeadersDefaultCellStyle.Font);//测试dataGridView1行数的宽度dataGridView1.RowHeadersWidth=size.Width30;//设置左侧行的宽度}privatevoiddataGridView1_RowPostPaint(objectsender,DataGridViewRowPostPaintEventArgse){//在左侧行中间绘制e.Graphics.DrawString((e.RowIndex1).ToString(),e.InheritedRowStyle.Font,solidBrush,newRectangle(e.RowBounds.X,e.RowBounds.Y,dataGridView1.RowHeadersWidth,e.RowBounds.Height),stringFormat);}