Witam,
Czy da się zrobić tak, aby w jednym textBoxie lub richTextBoxie znalazło się kilka czcionek ? Tj. aby kawałek tekstu był pogrubiony, a reszta normalnie ?
A jeśli tak, to jak ?
0
1
Tylko w richTextBoxie, zaznaczasz tekst metodą Select() i zmieniasz właściwości SelectionFont i SelectionColor.
1
możesz użyć poniższej klasy, która koloruje i daje własny font:
class RichTextBoxExtension
{
public void AppendText(RichTextBox box, string text, Color color, Font f)
{
box.SelectionStart = box.TextLength;
box.SelectionLength = 0;
box.SelectionColor = color;
box.AppendText(text);
box.SelectionColor = box.ForeColor;
box.SelectionFont = f;
}
}
użycie:
RichTextBoxExtension rtbext = new RichTextBoxExtension();
rtbext.AppendText(richTextBox1, "kawa", Color.Red,twoj_font1);
rtbext.AppendText(richTextBox1, "ler", Color.Gray, twoj_font2);
2
Lepiej by było użyć statycznej klasy ze statycznymi metodany, nie trzeba by było tworzyć obiektu za każdym razem.
Ale jest jeszcze lepszy sposób.
Extension methids, lesson 1:
static class RichTextBoxExtension
{
public static void AppendText(this RichTextBox box, string text, Color color, Font f)
{
box.SelectionStart = box.TextLength;
box.SelectionLength = 0;
box.SelectionColor = color;
box.AppendText(text);
box.SelectionColor = box.ForeColor;
box.SelectionFont = f;
}
}
usage:
richTextBox1.AppendText("kawa", Color.Red, twoj_font1);
richTextBox1.AppendText("ler", Color.Gray, twoj_font2);
Ładne i wygodne w użyciu.
Enjoy.
0
co oznacza składnia ?
this RichTextBox box
nie znam tego
0
Dzięki wielkie ;-) Tego potrzebowałem