DataGridView::AutoSizeRowsMode Property


Gets or sets a value indicating how row heights are determined.

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

property DataGridViewAutoSizeRowsMode AutoSizeRowsMode {
	DataGridViewAutoSizeRowsMode get();
	void set(DataGridViewAutoSizeRowsMode value);

Property Value

Type: System.Windows.Forms::DataGridViewAutoSizeRowsMode

A DataGridViewAutoSizeRowsMode value indicating the sizing mode. The default is None.

Exception Condition

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


The specified value when setting this property is AllHeaders or DisplayedHeaders and row headers are hidden.

This property lets you configure the control so that row heights are automatically adjusted to fit their contents whenever the contents change. If WrapMode is enabled, row heights are also adjusted whenever column widths change. Some sizing modes let you limit the size adjustment to the currently displayed rows in order to increase performance.

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

The Height value of an automatically sized row is recalculated during layout to account for the size of the font that is used. To get the correct Height, you should retrieve the value in the form's Layout event instead of in the form's constructor.

To adjust row heights programmatically, use the AutoResizeRow or AutoResizeRows methods, or set the row Height property.

For cell contents to wrap onto multiple lines when a row is resized, the cell style in effect for the cell must have a WrapMode property value of True.

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

The following code example demonstrates how to set the row to automatically resize based on the contents of the row headers and all of the columns. This code example is part of a larger example provided in How to: Automatically Resize Cells When Content Changes in the Windows Forms DataGridView Control.

void AutoSizeRowsMode( Object^ /*sender*/, EventArgs^ /*es*/ )
   dataGridView1->AutoSizeRowsMode = DataGridViewAutoSizeRowsMode::AllCells;

.NET Framework
Available since 2.0
Return to top