要实现此功能,首先我们就要知道DataGridView是怎么画单元格的,因此我们可以利用微软的这个事件来dataGridView1_CellPainting来实现我们要的效果:
具体代码如下:
//首先创建一个窗体:在Load事件中写入:
int clength = 0;
private void Form2_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("c1");
dt.Columns.Add("c2");
for (int j = 0; j < 10; j++)
{
dt.Rows.Add("你23ABI扩8873大", "bbbb");
}
this.dataGridView1.DataSource = dt;
for (int j = 0; j < 10; j++)
{
int height = TextRenderer.MeasureText(
this.dataGridView1[0, j].Value.ToString(),
this.dataGridView1.DefaultCellStyle.Font).Width;
this.dataGridView1.Rows[j].Height = height;
}
this.dataGridView1.CellPainting += new
DataGr