У меня есть столбец в DataGridView
примерно так:
private System.Windows.Forms.DataGridViewTextBoxColumn TaskOrderAmountColumn;
this.TaskOrderAmountColumn.DataPropertyName = "Amount";
this.TaskOrderAmountColumn.HeaderText = "Task Order Amount";
this.TaskOrderAmountColumn.Name = "TaskOrderAmountColumn";
this.TaskOrderAmountColumn.ReadOnly = true;
this.TaskOrderAmountColumn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
Это выглядит так:

Ширина столбца слишком велика. Поэтому я добавляю эту строку:
this.TaskOrderAmountColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.ColumnHeader;
Это уменьшает ширину столбца, но имеет побочный эффект, заставляющий заголовок столбца переходить на 2 строки:

Как уменьшить ширину столбца и сохранить заголовок строки на 1 строке?
Решение здесь имеет тот же эффект. Это неудивительно, поскольку коренная причина проблемы, по-видимому, заключается в том, что ширина вычисляется неправильно из текста «Сумма заказа задачи». Однако, изменив одну строку:
c.Width = w + 25;
Т.е., добавив немного к вычисленному значению, он отображает строку заголовка в виде одной строки.