DataGridViewColumn::AutoSizeMode Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets or sets the mode by which the column automatically adjusts its width.

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

property DataGridViewAutoSizeColumnMode AutoSizeMode {
	DataGridViewAutoSizeColumnMode get();
	void set(DataGridViewAutoSizeColumnMode value);

Property Value

Type: System.Windows.Forms::DataGridViewAutoSizeColumnMode

A DataGridViewAutoSizeColumnMode value that determines whether the column will automatically adjust its width and how it will determine its preferred width. The default is NotSet.

Exception Condition

The specified value when setting this property is a DataGridViewAutoSizeColumnMode that is not valid.


The specified value when setting this property results in an InheritedAutoSizeMode value of ColumnHeader for a visible column when column headers are hidden.


The specified value when setting this property results in an InheritedAutoSizeMode value of Fill for a visible column that is frozen.

The automatic sizing behavior of the column is determined by the value of the InheritedAutoSizeMode property, which is the same as the value of the AutoSizeMode property for all values except NotSet, which indicates that the value is inherited from the DataGridView::AutoSizeColumnsMode property instead.

When the InheritedAutoSizeMode property value is Fill, the column is resized along with other columns in that mode. All fill-mode columns in the control divide the available space in proportions determined by their FillWeight property values. The width available for fill mode is determined by subtracting the widths of all other columns from the width of the client area of the control. If this width is smaller than the combined MinimumWidth values of all fill-mode columns, the horizontal scroll bar is displayed, all fill-mode columns are shown with their minimum widths, and user column-resizing is disabled. For more information about column fill mode, see Column Fill Mode in the Windows Forms DataGridView Control.

When the InheritedAutoSizeMode property is set to any other value except None, the column will manage its width so that its cell values are fully displayed without clipping. In content-based sizing modes, size adjustments occur whenever cell contents change or, if WrapMode is enabled, whenever row heights change. Some content-based sizing modes let you limit the size adjustment to the currently displayed rows in order to increase performance.

Only columns with a Visible property value of true are resized, and changing the visibility of a column does not cause resizing to occur. Additionally, when columns are set to automatically resize, the user cannot adjust the column widths with the mouse.

To adjust column widths programmatically, use the DataGridView control's AutoResizeColumn or AutoResizeColumns methods or set the column Width property.

For more information about content-based automatic sizing, see Sizing Options in the Windows Forms DataGridView Control.

The following code example forces a column to automatically resize its width to fit its contents. This code example is part of a larger example provided for the DataGridViewColumn class.

// AutoSize the third column.
void Button6_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   DataGridViewColumn^ column = dataGridView->Columns[ 2 ];
   column->AutoSizeMode = DataGridViewAutoSizeColumnMode::DisplayedCells;

.NET Framework
Available since 2.0
Return to top