Show / Hide Table of Contents

Практическое руководство. Выравнивание рисуемого текста

При выполнении пользовательского рисования, часто можно формируемого выравнивание текста по центру формы или элемента управления. Выровнять текст, отображаемый с DrawString или DrawText методы создания нужный объект форматирования и установив соответствующие параметры форматирования.

Для рисования по центру текста с помощью GDI + (DrawString)

  1. Используйте StringFormat с соответствующим DrawString метод, чтобы задать текст, выровненный по центру.

    string text1 = "Use StringFormat and Rectangle objects to" 
        + " center text in a rectangle.";
    using (Font font1 = new Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point))
    {
        Rectangle rect1 = new Rectangle(10, 10, 130, 140);
    
        // Create a StringFormat object with the each line of text, and the block
        // of text centered on the page.
        StringFormat stringFormat = new StringFormat();
        stringFormat.Alignment = StringAlignment.Center;
        stringFormat.LineAlignment = StringAlignment.Center;
    
        // Draw the text and the surrounding rectangle.
        e.Graphics.DrawString(text1, font1, Brushes.Blue, rect1, stringFormat);
        e.Graphics.DrawRectangle(Pens.Black, rect1);
    }
    

Для рисования по центру текста с использованием GDI (DrawText)

  1. Используйте TextFormatFlags перечисления для упаковки, а также по вертикали и горизонтали Центрирование текста с соответствующим DrawText метод.

    string text2 = "Use TextFormatFlags and Rectangle objects to"
     + " center text in a rectangle.";
    
    using (Font font2 = new Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point))
    {
        Rectangle rect2 = new Rectangle(150, 10, 130, 140);
    
        // Create a TextFormatFlags with word wrapping, horizontal center and
        // vertical center specified.
        TextFormatFlags flags = TextFormatFlags.HorizontalCenter |
            TextFormatFlags.VerticalCenter | TextFormatFlags.WordBreak;
    
        // Draw the text and the surrounding rectangle.
        TextRenderer.DrawText(e.Graphics, text2, font2, rect2, Color.Blue, flags);
        e.Graphics.DrawRectangle(Pens.Black, rect2);
    }
    

Компиляция кода

Предыдущий пример кода предназначен для работы с Windows Forms, и они требуют PaintEventArgse, который является параметром PaintEventHandler.

См. также

  • Практическое руководство. Рисование текста с использованием GDI
  • Шрифты и текст
  • Практическое руководство. Разработка шрифтов и их семейств
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX