dj4400 Ответов: 4

C# изменение высоты строк datagridview при изменении размера


Привет

У меня есть DataGridView с фиксированным количеством строк и столбцов

Я хочу изменить высоту строк в соответствии со всем размером формы - например, если я максимизирую форму, я хочу, чтобы высота строк соответственно увеличивалась

Как я могу этого достичь?

спасибо

диджей

Что я уже пробовал:

Обработка события Resize - и изменение там всех высот строк вручную

Maciej Los

Почему?

4 Ответов

Рейтинг:
1

OriginalGriff

Это сложно, потому что не высота строки является определяющим фактором в этом - это размер содержимого ячейки, который обычно означает размер шрифта отображаемого текста.
Да, вы можете изменять размер ячеек каждый раз, когда меняется DGV, но если размер шрифта не меняется, все это означает, что текст отображается одинаково в большем белом пространстве. А сопоставить размер шрифта с "общим размером DGV" непросто: они не используют одни и те же единицы измерения, так что это совсем не тривиальная работа.

Я бы посмотрел, если бы мог переосмыслить это: Windows Forms совсем не хороша в автоматическом изменении размера элементов управления, поэтому редизайн вашего пользовательского интерфейса может быть лучшим шагом, чем возня с попытками заставить его работать - потому что всегда будут случаи, когда он выглядит совсем не хорошо!
WPF довольно хорош в этом: wpf - как сделать так, чтобы все элементы управления изменялись пропорционально при максимизации окна? - переполнение стека[^] при условии, что вы тщательно подбираете элементы пользовательского интерфейса!


Рейтинг:
1

Member 3020851

// перед привязкой его к набору данных

DataGridView1.RowTemplate.Высота = 40;

// привязка данных к набору данных


Richard Deeming

Это был неправильный ответ, когда он был опубликован в апреле прошлого года (Решение 2) Что заставляет вас думать, что это будет правильный ответ сейчас?

Рейтинг:
0

dj4400

Понял!

Установите для параметра RowTemplate Resizeable значение true

а затем обработка события изменения размера dataGridView


Рейтинг:
0

Member 11137531

Привет Чувак ,

Вы можете дать вот так

dataGridView.RowTemplate.Height = 35;


Maciej Los

ОП написал:: "я хочу, чтобы высота строк соответственно увеличивалась"
Как ваш код связан с вопросом OP?

dj4400

практическое руководство.RowTemplate.Высота = 35 см;

не работает