搞定了,谢版主。
If e.Col.name = "第一列" AndAlso e.text > "" Then
Dim g As Graphics = basemainform.creategraphics
Dim fnt As New Font("宋体",9)
Dim msg As String = e.text
Dim sf As new StringFormat
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Center
'Dim size = g.MeasureString(msg, fnt, e.width)
Dim size = g.MeasureString(msg, fnt)
If e.width < size.width Then
e.text = ""
Dim bmp As new bitmap(size.width, e.height)
g = Graphics.FromImage(bmp)
g.DrawString(msg,fnt,Brushes.black, new Rectangle(0, 0, size.width+1, e.height), sf)
e.graphics.DrawImage(bmp,new Rectangle(e.x, e.y, e.width, e.height))
End If
End If