DataGridView.AllowUserToResizeColumns Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets a value indicating whether users can resize columns.
public:
property bool AllowUserToResizeColumns { bool get(); void set(bool value); };
public bool AllowUserToResizeColumns { get; set; }
member this.AllowUserToResizeColumns : bool with get, set
Public Property AllowUserToResizeColumns As Boolean
Property Value
true
if users can resize columns; otherwise, false
. The default is true
.
Examples
The following code example illustrates how to use this property in a DataGridView control intended primarily for display. In this example, the visual appearance of the control is customized in several ways and the control is configured for limited interactivity. This example is part of a larger example available in the DataGridViewCellStyle class overview.
// Configures the appearance and behavior of a DataGridView control.
private void InitializeDataGridView()
{
// Initialize basic DataGridView properties.
dataGridView1.Dock = DockStyle.Fill;
dataGridView1.BackgroundColor = Color.LightGray;
dataGridView1.BorderStyle = BorderStyle.Fixed3D;
// Set property values appropriate for read-only display and
// limited interactivity.
dataGridView1.AllowUserToAddRows = false;
dataGridView1.AllowUserToDeleteRows = false;
dataGridView1.AllowUserToOrderColumns = true;
dataGridView1.ReadOnly = true;
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dataGridView1.MultiSelect = false;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
dataGridView1.AllowUserToResizeColumns = false;
dataGridView1.ColumnHeadersHeightSizeMode =
DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
dataGridView1.AllowUserToResizeRows = false;
dataGridView1.RowHeadersWidthSizeMode =
DataGridViewRowHeadersWidthSizeMode.DisableResizing;
// Set the selection background color for all the cells.
dataGridView1.DefaultCellStyle.SelectionBackColor = Color.White;
dataGridView1.DefaultCellStyle.SelectionForeColor = Color.Black;
// Set RowHeadersDefaultCellStyle.SelectionBackColor so that its default
// value won't override DataGridView.DefaultCellStyle.SelectionBackColor.
dataGridView1.RowHeadersDefaultCellStyle.SelectionBackColor = Color.Empty;
// Set the background color for all rows and for alternating rows.
// The value for alternating rows overrides the value for all rows.
dataGridView1.RowsDefaultCellStyle.BackColor = Color.LightGray;
dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.DarkGray;
// Set the row and column header styles.
dataGridView1.ColumnHeadersDefaultCellStyle.ForeColor = Color.White;
dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.Black;
dataGridView1.RowHeadersDefaultCellStyle.BackColor = Color.Black;
// Set the Format property on the "Last Prepared" column to cause
// the DateTime to be formatted as "Month, Year".
dataGridView1.Columns["Last Prepared"].DefaultCellStyle.Format = "y";
// Specify a larger font for the "Ratings" column.
using (Font font = new Font(
dataGridView1.DefaultCellStyle.Font.FontFamily, 25, FontStyle.Bold))
{
dataGridView1.Columns["Rating"].DefaultCellStyle.Font = font;
}
// Attach a handler to the CellFormatting event.
dataGridView1.CellFormatting += new
DataGridViewCellFormattingEventHandler(dataGridView1_CellFormatting);
}
' Configures the appearance and behavior of a DataGridView control.
Private Sub InitializeDataGridView()
' Initialize basic DataGridView properties.
dataGridView1.Dock = DockStyle.Fill
dataGridView1.BackgroundColor = Color.LightGray
dataGridView1.BorderStyle = BorderStyle.Fixed3D
' Set property values appropriate for read-only display and
' limited interactivity.
dataGridView1.AllowUserToAddRows = False
dataGridView1.AllowUserToDeleteRows = False
dataGridView1.AllowUserToOrderColumns = True
dataGridView1.ReadOnly = True
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
dataGridView1.MultiSelect = False
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None
dataGridView1.AllowUserToResizeColumns = False
dataGridView1.ColumnHeadersHeightSizeMode = _
DataGridViewColumnHeadersHeightSizeMode.DisableResizing
dataGridView1.AllowUserToResizeRows = False
dataGridView1.RowHeadersWidthSizeMode = _
DataGridViewRowHeadersWidthSizeMode.DisableResizing
' Set the selection background color for all the cells.
dataGridView1.DefaultCellStyle.SelectionBackColor = Color.White
dataGridView1.DefaultCellStyle.SelectionForeColor = Color.Black
' Set RowHeadersDefaultCellStyle.SelectionBackColor so that its default
' value won't override DataGridView.DefaultCellStyle.SelectionBackColor.
dataGridView1.RowHeadersDefaultCellStyle.SelectionBackColor = Color.Empty
' Set the background color for all rows and for alternating rows.
' The value for alternating rows overrides the value for all rows.
dataGridView1.RowsDefaultCellStyle.BackColor = Color.LightGray
dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.DarkGray
' Set the row and column header styles.
dataGridView1.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.Black
dataGridView1.RowHeadersDefaultCellStyle.BackColor = Color.Black
' Set the Format property on the "Last Prepared" column to cause
' the DateTime to be formatted as "Month, Year".
dataGridView1.Columns("Last Prepared").DefaultCellStyle.Format = "y"
' Specify a larger font for the "Ratings" column.
Dim font As New Font( _
dataGridView1.DefaultCellStyle.Font.FontFamily, 25, FontStyle.Bold)
Try
dataGridView1.Columns("Rating").DefaultCellStyle.Font = font
Finally
font.Dispose()
End Try
End Sub
Remarks
Use this property to prevent users from manually changing column widths. This is useful, for example, with display-only columns where data is loaded once and columns are resized at that time.
For more information about user resizing, see Sizing Options in the Windows Forms DataGridView Control.
Note
The DataGridView control does not support double buffering. If DoubleBuffered is set to true
in a derived DataGridView control, users will not receive visual feedback when resizing rows, columns, or headers or when reordering columns.