If the State value includes the Resizable Set flag, the Resizable property value is not inherited.
Column fill mode causes the visible columns in the control to fill the width of the control's display area. There are two kinds of automatic sizing in the Data Grid View control: column fill mode and content-based automatic sizing. You can also configure rows, columns, and headers to automatically adjust their sizes to fit their cell contents. For more information about this mode, see the Column Fill Mode section below. Note: If you maintain cell values in a custom data cache using virtual mode, automatic sizing occurs when the user edits a cell value but does not occur when you alter a cached value outside of a Cell Value Pushed event handler.
In this case, size adjustment occurs whenever cell contents change.
Programmatic resizing is useful to avoid performance penalties with continuous resizing.
When you programmatically resize columns that have Inherited Auto Size Mode property values of Fill, however, the calculated content-based widths are used to proportionally adjust the column Fill Weight property values, and the actually column widths are then calculated according to these new proportions so that all columns fill the available display area of the control.
You can customize sizing behaviors when working with derived Data Grid View cell, row, and column types by overriding the Data Grid View Cell. The protected resizing method overloads are designed to work in pairs to achieve an ideal cell height-to-width ratio, avoiding overly wide or tall cells.
For example, you might programmatically resize all columns immediately after loading data, or you might programmatically resize a specific row after a particular cell value has been modified. Get Preferred Width() methods or by calling protected resizing method overloads in a derived Data Grid View control.
The new sizes are automatically calculated to display all cell contents without clipping.