Практическое руководство. Многострочный вывод текста в прямоугольнике
Можно рисовать перенос текста в прямоугольнике, используя DrawString перегруженным методом Graphics класс, принимающий Rectangle или RectangleF параметра. Вы также будете использовать Brush и Font.
Также можно рисовать перенос текста в прямоугольнике, используя DrawText перегруженным методом TextRenderer , принимающий Rectangle и TextFormatFlags параметр. Вы также будете использовать Color и Font.
На следующем рисунке показан вывод текста, рисуемого в прямоугольнике, при использовании DrawString метод:
Для рисования вывод текста в прямоугольнике с помощью GDI +
Используйте DrawString перегруженный метод, передав текст, Rectangle или RectangleF, Font и Brush.
string text1 = "Draw text in a rectangle by passing a RectF to the DrawString method."; using (Font font1 = new Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point)) { RectangleF rectF1 = new RectangleF(30, 10, 100, 122); e.Graphics.DrawString(text1, font1, Brushes.Blue, rectF1); e.Graphics.DrawRectangle(Pens.Black, Rectangle.Round(rectF1)); }
Для рисования вывод текста в прямоугольнике с использованием GDI
Используйте TextFormatFlags значение перечисления, чтобы указать текст должен быть заключен в DrawText перегруженный метод, передав текст, Rectangle, Font и Color.
string text2 = "Draw text in a rectangle by passing a RectF to the DrawString method."; using (Font font2 = new Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point)) { Rectangle rect2 = new Rectangle(30, 10, 100, 122); // Specify the text is wrapped. TextFormatFlags flags = TextFormatFlags.WordBreak; TextRenderer.DrawText(e.Graphics, text2, font2, rect2, Color.Blue, flags); e.Graphics.DrawRectangle(Pens.Black, Rectangle.Round(rect2)); }
Компиляция кода
Для работы предыдущих примеров:
- PaintEventArgs
e
, который является параметром PaintEventHandler.