Метод Graphics.DrawString () выдает исключение GDI +, если длина строки слишком велика - PullRequest
2 голосов
/ 03 августа 2020

Приведенный ниже блок кода, который выдает

System.Runtime.InteropServices.ExternalException: 'Общая c ошибка произошла в GDI +.

исключение, когда строка передано для рисования слишком долго.

public partial class Form1 : Form
{
    string longString;
    public Form1()
    {
        InitializeComponent();

        for (int i = 0; i < 40000; i++)
            longString += "s";
    }


    protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);
        e.Graphics.DrawString(longString, new Font("Segeo UI", 11, FontStyle.Regular), new SolidBrush(Color.Black), new RectangleF(0, 0, 100, 30),
            new StringFormat()
            {
                LineAlignment = StringAlignment.Center,
                Alignment = StringAlignment.Center,
                Trimming= StringTrimming.None,
                FormatFlags = StringFormatFlags.DirectionRightToLeft
            });
    }
}

Как разрешить это исключение при рисовании длинной строки в указанном формате?

...