Kilka czcionek w jednym TextBoxie

0

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 ?

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1