Как определить размер строки, учитывая шрифт

Может быть, вы могли бы использовать историческую версию API . Возможно, другим вариантом может быть создание файлов cookie на стороне сервера или небольшой базы данных для исторических значений.

17
задан Nifle 8 February 2012 в 19:14
поделиться

3 ответа

Это зависит от используемого механизма визуализации. Можно в основном переключиться между GDI и GDI +. Переключение может быть сделано путем установки UseCompatibleTextRendering свойство соответственно

При использовании GDI + необходимо использовать MeasureString:

string s = "A sample string";

SizeF size = e.Graphics.MeasureString(s, new Font("Arial", 24));

При использовании GDI (т.е. собственный рендеринг Win32) необходимо использовать TextRenderer класс:

SizeF size = TextRenderer.MeasureText(s, new Font("Arial", 24));

См. эту статью: текстовый Рендеринг: Создайте Мировые Готовые Приложения Используя Сложные Сценарии В элементах управления Windows Forms

19
ответ дан 30 November 2019 в 13:21
поделиться

Как насчет этого:

Size stringsize = graphics.MeasureString("hello", myFont);

(Вот ссылка MSDN.)

5
ответ дан 30 November 2019 в 13:21
поделиться

Назад в Win32 я использовал эквивалент для VisualStyleRenderer:: GetTextExtent функционируют для этого.

0
ответ дан 30 November 2019 в 13:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: