Вам нужно использовать DataGridViewColumn.AutoSizeMode
собственность.
Вы можете использовать одно из этих значений для столбцов 0 и 1:
AllCells: ширина столбца регулируется, чтобы соответствовать содержимому всех ячеек в столбце, включая ячейку заголовка.
AllCellsExceptHeader: ширина столбца регулируется, чтобы соответствовать содержимому всех ячеек в столбце, за исключением ячейки заголовка.
DisplayedCells: ширина столбца регулируется в соответствии с содержимым всех ячеек в столбце, которые находятся в строках, отображаемых в данный момент на экране, включая ячейку заголовка.
DisplayedCellsExceptHeader: ширина столбца регулируется, чтобы соответствовать содержимому всех ячеек в столбце, которые находятся в строках, отображаемых в данный момент на экране, за исключением ячейки заголовка.
Затем вы используете значение Fill для столбца 2
Ширина столбца настраивается таким образом, чтобы ширина всех столбцов точно заполняла область отображения элемента управления ...
this.DataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
this.DataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
this.DataGridView1.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
Как указали другие пользователи, значение по умолчанию может быть установлено на datagridview
уровне сDataGridView.AutoSizeColumnsMode
свойства.
this.DataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
this.DataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
может быть:
this.DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
Важная заметка:
Если ваша сетка привязана к источнику данных и столбцы генерируются автоматически (для AutoGenerateColumns
свойства установлено значение True), вам необходимо использовать DataBindingComplete
событие для применения стиля ПОСЛЕ создания столбцов.
В некоторых сценариях (например, изменение значения ячеек по коду) мне приходилось вызывать, DataGridView1.AutoResizeColumns();
чтобы обновить сетку.