Вы можете указать, могут ли пользователи изменять размеры столбцов и строк, устанавливая свойства AllowUserToResizeColumns и AllowUserToResizeRows :
dataGridView1.AllowUserToResizeColumns = false;
dataGridView1.AllowUserToResizeRows = false;
Вам также необходимо отключить автоматический столбецфункция изменения размера ( AutoResizeColumns свойство), поэтому вы можете указать пользовательскую меру:
dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.None);
dataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing;
Отключить режим переноса для столбцов и строк:
dataGridView1.ColumnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.False;
dataGridView1.RowTemplate.DefaultCellStyle.WrapMode = DataGridViewTriState.False;
Установите RowTemplate на некоторые конкретные значения;этот стиль используется, когда другой стиль не указан.Весьма полезно предотвращать изменение сеткой своих стилей (и, возможно, макета), когда форма хоста меняет свои собственные стили:
(важны и шрифт, и ячейки ForeColor
и BackColor
)
dataGridView1.RowTemplate.DefaultCellStyle.Font =
new Font("Segoe UI", 9.25f, FontStyle.Regular, GraphicsUnit.Point);
dataGridView1.RowTemplate.DefaultCellStyle.BackColor = Color.White;
dataGridView1.RowTemplate.DefaultCellStyle.ForeColor = Color.Black;
dataGridView1.RowTemplate.DefaultCellStyle.SelectionBackColor = SystemColors.Highlight;
dataGridView1.RowTemplate.DefaultCellStyle.SelectionForeColor = SystemColors.HighlightText;
Вы можете определить высоту рядов, если вам нужна конкретная.Позаботьтесь о том, чтобы высоту строки нельзя было установить равным точному размеру шрифта, иначе элементы управления, такие как CheckBox и ComboBox, не будут соответствовать и не будут отрисованы.
Здесь я использую TextRenderer.Метод MeasureText для измерения строки с использованием шрифта, установленного в RowTemplate.DefaultCellStyle.Font
.
dataGridView1.RowHeadersWidth = 40;
dataGridView1.RowTemplate.Height = TextRenderer.MeasureText(
"Sample Text", dataGridView1.RowTemplate.DefaultCellStyle.Font).Height + 4;
Поскольку режим обтекания отключен, вы можете просто использовать AutoSizeRowsMode , установив его на DataGridViewAutoSizeRowsMode.AllCells
.
Теперь, после установки DataGridView.DataSource
, вы также можете установить ширину всех столбцов на одно и то же значение (или любое другое пользовательское значение):
(ЗдесьШирина всех столбцов установлена на 150
пикселей)
dataGridView1.DataSource = [DataTable];
dataGridView1.Columns.OfType<DataGridViewColumn>().ToList().ForEach(c => c.Width = 150);