datagridview и изменение размера формы в c # - PullRequest
2 голосов
/ 05 апреля 2011

У меня есть один DataGridView, чье свойство Dock установлено в «Fill».Поэтому, когда я изменю размер моей формы, DataGridView изменится.В моем случае я установил DataGridView ширину столбца с фиксированным значением.Например:

dgGrid.Columns[0].Width = 50;
dgGrid.Columns[1].Width = 126;
dgGrid.Columns[2].Width = 100;

Я пытаюсь пропорционально изменить размер столбцов в моем DataGridView при изменении размера элемента управления.Как я могу сделать это программно, когда мой столбец сетки с установлен, как указано выше?Пожалуйста, помогите мне с кодом. Спасибо.

Ответы [ 3 ]

2 голосов
/ 05 апреля 2011

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

Лучшее решение - вызвать метод AutoResizeColumns , который автоматически отрегулирует ширину всех ваших столбцов, используя указанный режим размера. Вы бы вызвали этот метод в обработчике для события Resize вашей формы. Например:

protected override void OnResize(EventArgs e)
{
    myDataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
}

В этой статье MSDN содержится дополнительная информация о параметрах определения размера для элемента управления DataGridView.

1 голос
/ 05 апреля 2011

Вы можете использовать событие DataGridView.Resize, чтобы рассчитать новую ширину для каждого столбца в зависимости от нового размера

0 голосов
/ 05 апреля 2011
datagridview.Columns["columnName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...