Автоматическое изменение размера столбцов на основе количества символов - PullRequest
0 голосов
/ 11 мая 2009

Я пытаюсь найти лучший способ программно изменить размер заголовков столбцов таблицы в ReportViewer.

По сути, мое текущее разрешение следующее:

ColumnWidth = HeaderCaption_CharacterCount * 0.32

Где 0,32 - приблизительная ширина типичного символа с использованием моего текущего размера шрифта. Проблема в том, что ширина оставляет много свободного места для более длинных заголовков. Чем больше символов в заголовке, тем больше пробелов я получаю.

Проблема с оценкой этого способа заключается в том, что не все символы имеют одинаковую ширину. Хорошим примером может служить символ «I», который занимает меньшую ширину экрана, чем остальная часть алфавита.

Может кто-нибудь предложить лучший способ сделать это?

EDIT Я нашел лучший способ справиться с этим. Есть метод, который будет вычислять ширину (в пикселях) строки текста.

Size = TextRenderer.MeasureText([String], [Font])

Я сейчас экспериментирую с этим, и это выглядит многообещающе.

1 Ответ

0 голосов
/ 14 мая 2009

Size = TextRenderer.MeasureText([String], [Font])

Функция вычисляет ширину указанной строки с указанным шрифтом.

...