Я пытаюсь создать элемент управления, который в основном позволяет мне рисовать различные строки друг под другом.Однако ширина строк не может быть больше, чем у элемента управления.Чтобы решить эту проблему, я думал о передаче объекта RectangleF в метод Graphics.DrawString.Это обернуло бы строки, которые шире ширины переданного прямоугольника.Хотя это решает проблему невозможности увидеть всю строку, если она слишком большая, существует другая проблема.Если бы я попробовал что-то вроде этого
Graphics g = e.Graphics; // Paint event
g.DrawString(someText, someFont, someBrush, new PointF(0, 0), someRectangleF);
g.DrawString(someMoreText, someFont, someBrush, new PointF(0, 12), someRectangleF);
, проблема была бы в том, что, если someText обернут, третья строка закрашивает текст первого текста, что затрудняет / делает невозможным чтение.
Я искал решение этой проблемы и нашел несколько интересных ссылок, которые, однако, включали использование цикла for, который измерял бы ширину каждого символа и так далее.Есть ли более простые способы сделать это?