Что именно делает флаг TextFormatFlags.TextBoxControl - PullRequest
1 голос
/ 22 ноября 2011

Я хотел бы понять, какой эффект имеет флаг TextFormatFlags.TextBoxControl при использовании метода TextRenderer.DrawText .

Я написал небольшойи я не вижу разницы между его использованием и неиспользованием.

Кроме того, я инспектировал код с помощью отражателя .NET, и флаг передается непосредственно нативному методу, чтобы я мог видеть, чтоэто эффект.

Ответы [ 2 ]

2 голосов
/ 08 ноября 2012

Не уверен, что все это делает, но я использую его для одного конкретного эффекта ...

Если вы используете только WordBreak, то если у вас есть слово, которое слишком широк, чтобы поместиться в строке, это простообрезает это слово ... оно не сломается в середине слова.Но если вместо этого вы хотите, чтобы он разбивался на слова, длина которых превышает ширину, так что ничего не обрезается, вы можете добавить к нему TextBoxControl, и он это сделает.вы редактируете текст, вы действительно хотите видеть все символы.

Текстовые столбцы DataGridView по умолчанию отображаются без него, если только вы не редактируете, а затем редактируют с ним.Прямо сейчас я пытаюсь выяснить, есть ли где-нибудь параметр в DataGridView или его столбцах и т. Д., Который позволит мне указать TextFormatFlags для использования при его рендеринге, чтобы я мог это исправить.Любые подсказки по этому поводу очень ценятся.

1 голос
/ 23 ноября 2011

Похоже, что это как-то связано с Padding, возможно, когда MultiLines находится в игре.

С Точные метрики шрифта

Обратите внимание, что мы вычисляем размер строки, используя MeasureText, а затем добавляем дополнительные 7 пикселей к высоте. Это связано с тем, что сам TextBox имеет некоторые внутренние отступы, которые он применяет, и в нашем тестировании он составляет примерно 7 пикселей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...