DataGridView.AutoResizeColumns Method (DataGridViewAutoSizeColumnsMode, Boolean)

Adjusts the width of all columns using the specified size mode, optionally calculating the widths with the expectation that row heights will subsequently be adjusted.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in

protected void AutoResizeColumns (
	DataGridViewAutoSizeColumnsMode autoSizeColumnsMode,
	bool fixedHeight
protected void AutoResizeColumns (
	DataGridViewAutoSizeColumnsMode autoSizeColumnsMode, 
	boolean fixedHeight
protected function AutoResizeColumns (
	autoSizeColumnsMode : DataGridViewAutoSizeColumnsMode, 
	fixedHeight : boolean
Not applicable.



One of the DataGridViewAutoSizeColumnsMode values.


true to calculate the new widths based on the current row heights; false to calculate the widths with the expectation that the row heights will also be adjusted.

Exception typeCondition


autoSizeColumnsMode has the value ColumnHeader and ColumnHeadersVisible is false.


autoSizeColumnsMode has the value None or Fill.


autoSizeColumnsMode is not a valid DataGridViewAutoSizeColumnsMode value.

This method is useful if you want to control when columns resize. The column widths are adjusted only once per method call; if the contents of the columns later change, the columns will not automatically adjust. To resize a specific column, use the AutoResizeColumn method. To set the columns to automatically resize whenever their contents change, use the AutoSizeColumnsMode property or the column AutoSizeMode property.

This overload lets you specify a sizing mode that calculates the new widths based on values in a limited set of cells, such as those in displayed rows only. This improves performance when the control contains a large number of rows.

This overload is protected and is designed to enable you to achieve ideal cell height-to-width ratios in a derived DataGridView class. If fixedHeight is false, the column widths will be calculated with the expectation that you will call the AutoResizeRow or AutoResizeRows method next.

For more information about programmatic resizing, see Sizing Options in the Windows Forms DataGridView Control.

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0