Чтобы автоматически изменить размеры столбцов, чтобы они соответствовали данным (по ширине), а затем автоматически измените размер формы, чтобы соответствовать виду сетки (по ширине), используйте следующий код:
foreach (DataGridViewColumn column in dataGridView1.Columns)
column.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
this.Width = dataGridView1.Width + 100;
где dataGridView1 - это имя Datagridview в этом примере, а this
ссылается на экземпляр формы. Значение 100 - это константа, определяющая, на сколько пикселей шире форма, чем вид сетки данных. (примечание: вам может потребоваться проверка ширины, чтобы убедиться, что форма и вид сетки данных не шире, чем экран пользователя)
Чтобы автоматически изменить размер сетки данных, чтобы соответствовать строкам (по высоте), а затем автоматически изменить размер формы, чтобы соответствовать сетке (по высоте), используйте следующий код:
int totalRowHeight = dataGridView1.ColumnHeadersHeight;
foreach (DataGridViewRow row in dataGridView1.Rows)
totalRowHeight += row.Height;
dataGridView1.Height = totalRowHeight;
this.Height = dataGridView1.Height + 100;
где dataGridView1 - это имя Datagridview в этом примере, а this
ссылается на экземпляр формы. Значение 100 является константой того, на сколько пикселей вы хотите получить форму, чем на сетке данных. (примечание: вы можете захотеть проверить высоту, чтобы убедиться, что форма и вид сетки данных не выше экрана пользователя)