Изменение размера столбцов DataGridView на основе ширины сетки - PullRequest
5 голосов
/ 29 сентября 2010

У меня есть форма окна. В этой форме у меня есть элемент управления сеткой данных, который имеет несколько столбцов с предопределенной шириной.

Когда я изменяю размер формы с помощью окна максимизации или мыши, сетка данных автоматически изменяет размеры, чтобы соответствовать форме. Это делается с помощью свойства привязки сетки данных.

Теперь мне нужно изменить ширину столбцов, чтобы все столбцы помещались в сетку с измененным размером, не получая горизонтальную полосу прокрутки. В настоящее время я делаю это, вычисляя отношение ширины новой сетки к ширине старой сетки и увеличивая ширину столбца в том же соотношении. Но проблема в том, что это соотношение не является точным, когда я максимизирую и минимизирую форму, поэтому после нескольких действий по изменению размера общая ширина столбцов становится меньше ширины сетки, и она начинает показывать пустое пространство в сетке. Я делаю это в событии изменения размера сетки.

Еще одна проблема в том, что в этой сетке также есть несколько фиксированных столбцов, и я не должен изменять ширину этих столбцов при изменении размера сетки.

Как мы должны справиться с этим? Есть ли другой способ справиться с этой проблемой изменения размера?

Обновление : я выполнял ненужную работу по вычислению соотношения для увеличения ширины столбцов, что не является необходимым.

Спасибо @KMan. Ваше предложение использовать свойство fill сработало. Он учитывает изменение ширины столбца на основе изменения ширины сетки при изменении размера формы.

1 Ответ

7 голосов
/ 29 сентября 2010

Как насчет:

  • Для свойства AutoSizeColumnsMode установлено значение AllCellsExceptHeader, все столбцы будут настроены в соответствии сценности.

  • И, для вашего последнего столбца, вы можете установить стиль на Fill.

Кроме того, оформить заказ Как:Установка режимов размеров элемента управления DataGridView в Windows Forms .

...