Поделиться через


Практическое руководство. Отрисовка текста в Windows Forms

Обновлен: Ноябрь 2007

В следующем примере показано, как использовать метод DrawString класса Graphics для отрисовки текста на форме. Для вывода текста на форму можно также использовать объект TextRenderer. Дополнительные сведения см. в разделе Практическое руководство. Рисование текста с использованием GDI.

Пример

Public Sub DrawString()
    Dim formGraphics As System.Drawing.Graphics = Me.CreateGraphics()
    Dim drawString As String = "Sample Text"
    Dim drawFont As New System.Drawing.Font("Arial", 16)
    Dim drawBrush As New _
       System.Drawing.SolidBrush(System.Drawing.Color.Black)
    Dim x As Single = 150.0
    Dim y As Single = 50.0
    Dim drawFormat As New System.Drawing.StringFormat
    formGraphics.DrawString(drawString, drawFont, drawBrush, _
        x, y, drawFormat)
    drawFont.Dispose()
    drawBrush.Dispose()
    formGraphics.Dispose()
End Sub

public void DrawString()
{
    System.Drawing.Graphics formGraphics = this.CreateGraphics();
    string drawString = "Sample Text";
    System.Drawing.Font drawFont = new System.Drawing.Font("Arial", 16);
    System.Drawing.SolidBrush drawBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Black);
    float x = 150.0F;
    float y = 50.0F;
    System.Drawing.StringFormat drawFormat = new System.Drawing.StringFormat();
    formGraphics.DrawString(drawString, drawFont, drawBrush, x, y, drawFormat);
    drawFont.Dispose();
    drawBrush.Dispose();
    formGraphics.Dispose();
}

public:
    void DrawString()
    {
        System::Drawing::Graphics^ formGraphics = this->CreateGraphics();
        String^ drawString = "Sample Text";
        System::Drawing::Font^ drawFont =
            gcnew System::Drawing::Font("Arial", 16);
        System::Drawing::SolidBrush^ drawBrush = gcnew
            System::Drawing::SolidBrush(System::Drawing::Color::Black);
        float x = 150.0F;
        float y = 50.0F;
        System::Drawing::StringFormat^ drawFormat =
            gcnew System::Drawing::StringFormat();
        formGraphics->DrawString(drawString, drawFont, drawBrush, x,
            y, drawFormat);
        delete drawFont;
        delete drawBrush;
        delete formGraphics;
    }

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

Метод DrawString нельзя вызывать в обработчике события Load. Если был изменен размер формы или форма была скрыта другой формой, рисунок перерисовываться не будет. Чтобы выполнять перерисовку автоматически, нужно переопределить метод OnPaint.

Отказоустойчивость

Исключение может возникнуть при следующих условиях.

  • В системе не установлен шрифт Arial.

См. также

Задачи

Практическое руководство. Рисование текста с использованием GDI

Ссылки

DrawString

DrawText

FormatFlags

StringFormatFlags

TextFormatFlags

OnPaint

Другие ресурсы

Приступая к программированию графики