Вы можете использовать метод AutoResizeRow
.
За MSDN:
Этот метод полезен, если вы хотите контролировать время изменения размера строки. Высота строки корректируется только один раз за вызов метода; если содержимое строки позже изменится, строка не будет автоматически корректироваться. Чтобы изменить размер всех строк, используйте метод AutoResizeRows. Чтобы настроить автоматическое изменение размера строки при изменении ее содержимого, используйте свойство AutoSizeRowsMode.
Здесь также есть образец MSDN здесь .
Возможно, вы захотите просмотреть свойство RowTemplate
с именем Height
. Вы можете рассчитать, когда изменяется размер экрана
EDIT:
Вы можете поместить это в событие изменения размера, например Form_ResizeEnd
. YMMV о том, как сетка может работать с большим количеством строк.
foreach (DataGridViewRow row in dataGridView1.Rows)
{
row.Height = 22; //your calculation based on the screen height
}
Я полагаю, вы можете использовать System.Windows.Form.Screens
класс, в частности Screens.PrimaryScreen.Bounds.Height
, если вы хотите высоту основного экрана. Вам решать, какой размер вы хотите сохранить.