DataGridView 列宽和行高自动调整的设定

1) 设定行高和列宽自动调整
[VB.NET]
' 设定包括 Header 和所有单元格的列宽自动调整
DataGridView1.AutoSizeColumnsMode=DataGridViewAutoSizeColumnsMode.AllCells

' 设定包括 Header 和所有单元格的行高自动调整
DataGridView1.AutoSizeRowsMode=DataGridViewAutoSizeRowsMode.AllCells
[C#]
// 设定包括 Header 和所有单元格的列宽自动调整
DataGridView1.AutoSizeColumnsMode=DataGridViewAutoSizeColumnsMode.AllCells;

// 设定包括 Header 和所有单元格的行高自动调整
DataGridView1.AutoSizeRowsMode=DataGridViewAutoSizeRowsMode.AllCells;

AutoSizeColumnsMode
属性的设定值枚举请参照 msdn DataGridViewAutoSizeRowsMode 说明。

2
)指定列或行自动调整
[VB.NET]
' 第一列自动调整
DataGridView1.Columns(0).AutoSizeMode=_
DataGridViewAutoSizeColumnMode.displayedCells
[C#]
// 第一列自动调整
DataGridView1.Columns[0].AutoSizeMode=
DataGridViewAutoSizeColumnMode.displayedCells;

AutoSizeMode
设定为 NotSet 时, 认继承的是 DataGridView.AutoSizeColumnsMode 属性

3)
设定列头的高度和行头的宽度自动调整
[VB.NET]
' 设定列头的宽度可以自由调整
DataGridView1.ColumnHeadersHeightSizeMode=_
DataGridViewColumnHeadersHeightSizeMode.AutoSize

' 设定行头的宽度可以自由调整
DataGridView1.RowHeadersWidthSizeMode=_
DataGridViewRowHeadersWidthSizeMode.AutoSizetoAllHeaders
[C#]
// 设定列头的宽度可以自由调整
DataGridView1.ColumnHeadersHeightSizeMode=
DataGridViewColumnHeadersHeightSizeMode.AutoSize;

// 设定行头的宽度可以自由调整
DataGridView1.RowHeadersWidthSizeMode=
DataGridViewRowHeadersWidthSizeMode.AutoSizetoAllHeaders;

4
随时自动调整
a
临时的,让列宽自动调整,这和指定 AutoSizeColumnsMode 属性一样。
[VB.NET]
' DataGridView1 的所有列宽自动调整一下。
DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells)

' DataGridView1 的第一列的列宽自动调整一下。
DataGridView1.AutoResizeColumn(0,DataGridViewAutoSizeColumnMode.AllCells)
[C#]
// DataGridView1 的所有列宽自动调整一下。
DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);

// DataGridView1 的第一列的列宽自动调整一下。
DataGridView1.AutoResizeColumn(0,DataGridViewAutoSizeColumnMode.AllCells);
上面调用 AutoResizeColumns AutoResizeColumn 当指定的是 DataGridViewAutoSizeColumnMode.AllCells 的时候, 参数可以省略。即:
DataGridView1.AutoResizeColumn(0)
DataGridView1.AutoResizeColumns()

b
,临时的,让行高自动调整
[VB.NET]
' DataGridView1 的所有行高自动调整一下。
DataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells)

' DataGridView1 的第一行的行高自动调整一下。
DataGridView1.AutoResizeRow(0,DataGridViewAutoSizeRowMode.AllCells)
[C#]
// DataGridView1 的所有行高自动调整一下。
DataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells);

// DataGridView1 的第一行的行高自动调整一下。
DataGridView1.AutoResizeRow(0,DataGridViewAutoSizeRowMode.AllCells);
上面调用 AutoResizeRows AutoResizeRow 当指定的是 DataGridViewAutoSizeRowMode.AllCells 的时候, 参数可以省略。即: DataGridView1.AutoResizeRow (0) DataGridView1.AutoResizeRows()

c
,临时的,让行头和列头自动调整
[VB.NET]
' 列头高度自动调整
DataGridView1.AutoResizeColumnHeadersHeight()

' 行头宽度自动调整
DataGridView1.AutoResizeRowHeadersWidth(_
DataGridViewRowHeadersWidthSizeMode.AutoSizetoAllHeaders)
[C#]
// 列头高度自动调整
DataGridView1.AutoResizeColumnHeadersHeight();

// 行头宽度自动调整
DataGridView1.AutoResizeRowHeadersWidth(
DataGridViewRowHeadersWidthSizeMode.AutoSizetoAllHeaders);

关于性能
通过 AutoSizeColumnsMode 或者 AutoSizeRowsMode 属性所指定的单元格进行自动调整时,如果调整次数过于多那么将可能导致性能下降,尤其是在行和列数比较多的情况下。在这时用 displayedCells 代替 AllCells 能减少非所见的单元格的调整,从而提高性能

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...