Windows Forms DataGridViewColumn и GetPreferredWidth ⇐ C#

Место общения программистов C#
Anonymous
Windows Forms DataGridViewColumn и GetPreferredWidth

Сообщение Anonymous »

У меня есть DataGridView с двумя столбцами. Первый имеет AutoSizeMode DataGridViewAutosizeColumnMode.allcells , второй One DataGridViewAutosizeColumnMode.fill .

Grid встроена в родительскую панель с использованием Dockstyle.fill .dc1 = new DataGridViewCheckBoxColumn();
dc1.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
...

dc2 = new DataGridViewTextBoxColumn();
dc2.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
...

dgv = new DataGridView();
...
dgv.Columns.Add(dc1);
dgv.Columns.Add(dc2);
< /code>
Как только сетка содержит данные (установлен данные данных), я хочу получить фактический размер всех столбцов
, чтобы настроить ширину родителей. < /p>
int offset = 0;

if (MaxDisplayedItems < dgv.RowCount)
offset += SystemInformation.VerticalScrollBarWidth;

Width = dc1.GetPreferredWidth(dc1.AutoSizeMode, true) + dc2.GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true) + offset;
< /code>
К сожалению, рассчитанная ширина слишком мала. Сетка показывает некоторые значения второго столбца с «...»
Как получить реальную ширину всех столбцов?>

Подробнее здесь: https://stackoverflow.com/questions/796 ... erredwidth

Вернуться в «C#»