Я хочу, чтобы он взял данный фрагмент текста и правильно отобразил его в виде абзаца (при необходимости переходя на новую строку), используя DrawString и for (;;) l oop, но в результате получаются помехи.
private void pnlText_Paint(object sender, PaintEventArgs e)
{
pnlText.Font = new Font("Calibri", 14, FontStyle.Regular);
SizeF lineSize = new SizeF();
for (int i = 0; i < DisplayText.Length; i++)
{
currentLine += DisplayText[i];
lineSize = e.Graphics.MeasureString(currentLine, pnlText.Font);
if (DisplayText[i].ToString() == " " && lineSize.Width >= 820)
{
paragraph += currentLine + "\n";
currentLine = null;
}
}
using (SolidBrush br = new SolidBrush(Color.Black))
{
e.Graphics.DrawString(paragraph, pnlText.Font, br, 5, 5);
}
}
Вывод: одно предложение весь абзац
Я ошеломлен, повторять подобное бессмысленно. Я попытался использовать String Builder и заменить DisplayText.Length на число, и оно все еще не работает правильно. Использование foreach и отрисовка каждого символа по отдельности работает, хотя и портит интервалы.
Также изначально у меня не было строки "абзаца", и я просто рисовал каждую строку внутри l oop, но это как-то вызвало конец текста, который будет вырезан и вставлен в самом начале, что еще более безумно. Я подозреваю, что мой компьютер одержим демонами.