我绘制单元格的内容,例如图标和文本。如果文本不适合单元格边界,则将其用省略号绘制。如何告诉DataGridView
单元需要更多空间来处理正确的自动调整大小?
答案 0 :(得分:0)
[定制基于内容的大小调整行为](定制基于内容的大小调整行为)中提供了各种选项;我建议您重写DataGridViewCell.GetPreferredSize Method,以将自定义单元格大小数据提供给特定的DataGridViewColumn的CellTemplate Property。
由于您尚未详细说明特定的设计条件,因此我将假定DataGridViewColumn为DataGridViewTextBoxColumn。
自定义单元格定义将类似于以下内容。
Public Class CustomSizedTextBoxCell : Inherits DataGridViewTextBoxCell
Protected Overrides Function GetPreferredSize(graphics As Graphics, cellStyle As DataGridViewCellStyle, rowIndex As Int32, constraintSize As Size) As Size
Dim ret As Size = MyBase.GetPreferredSize(graphics, cellStyle, rowIndex, constraintSize)
' this simple example just doubles the width of the base preferred size
' replace this with logic that satifies your requirements
ret.Width *= 2
Return ret
End Function
End Class
使用此自定义单元格的方式:
DataGridView1.Columns(0).CellTemplate = New CustomSizedTextBoxCell()