49R Ответов: 1

Как изменить шрифт и размер шрифта вручную


Он должен отображать одно слово одним шрифтом, а следующую строку другим шрифтом .
В приведенном примере программы последний установленный шрифт применяется ко всему тексту

Что я уже пробовал:

RichTextBox.Font = new Font("Arial", 14, FontStyle.Bold);
           RichTextBox.Text = Form1.FN+" "+Form1.LN+"\n";
           RichTextBox.Font = new Font("Arial", 10);
           RichTextBox.Text +=("Mobile: " )+ Form1.M;

1 Ответов

Рейтинг:
12

Dave Kreskowiak

Возможно, вы захотите ознакомиться с документацией по этому вопросу. элемент управления RichTextBox[^]. Там вы найдете различные свойства, начинающиеся с "Selection". Используйте свойства SelectionStart и SelectionLength, где можно выделить текст, а затем использовать другие свойства для внесения изменений в выделенный текст, например SelectionFont.


49R

Управления richtextbox.= Новый шрифт SelectionFont("Ариал", 14, свойство fontstyle.Жирный);
Управления richtextbox.AppendText(Form1.FN + "" + Form1.LN + "\n");
RichTextBox.SelectionFont = новый шрифт ("Arial", 10);
Управления richtextbox.AppendText("Mobile:" + Form1.M);

я все понял спасибо

Dave Kreskowiak

Отличный. Теперь у вас есть гораздо большая проблема.

Вы создаете новые объекты шрифта каждый раз, когда выполняется этот код. Объект шрифта удерживает неуправляемые и ограниченные ресурсы GDI. Вы никогда не избавляетесь от этих созданных объектов, но вы создали их без какого-либо верхнего предела. Это означает, что ваш код утекает ресурсы и, если сделать это достаточно, приведет к сбою Windows.

Создавайте объекты шрифта на уровне класса, и вы можете повторно использовать их снова и снова, не создавая новых. Затем, когда ваше приложение существует, вы можете вызвать Dispose для этих объектов шрифта и правильно освободить ресурсы, которые они удерживают.