You will typically call the programmatic resizing methods at specific times.
Through the different painting customization events, such as the Cell Paint event, you can easily display an icon next to the text in the cell.
You must then call the Auto Resize Columns method to adjust the column widths to the calculated ideal.
For example, if you call the Auto Resize Rows(Data Grid View Auto Size Rows Mode, Boolean) overload of the Auto Resize Rows method and pass in a value of false for the Boolean parameter, the overload will calculate the ideal heights and widths for cells in the row, but it will adjust the row heights only.
The Read Only property indicates whether the data displayed by the cell can be edited. By default, if a cell's parent row or column is set to read-only, the child cells will adopt the same value.
You can set Read Only for individual cells, or you can make an entire row or column of cells read-only by setting the Data Grid View Row. While you can navigate to a read-only cell, and you can set a read-only cell to be the current cell, the content cannot be modified by the user.