C# hex string color

Gast #6969776
Lesenswert?

Leo schrieb:
> in meiner C# Anwendung werden über eine Kommunikationsschnittstelle
> Daten per HEX string empfangen. Nun möchte ich einzelnen HEX Daten im
> String mit einer unterschiedlichen Farbe ausgeben. Die Ausgabe erfolgt
> bei mir über das Toolelement rich text box.

Ich sehe nichts, was dagegen spricht.
#6969932
Lesenswert?

1
// Text zur rtb hinzufügen
2
richTextBox1.AppendText("Dies ist ein kleiner grüner Test, mal sehen ob dies funktioniert. Farbe rot, Farbe grün, Farbe blau und grün.");
3

4
// Button "btn_uncolor" erstellen und Click Event hinzufügen
5
// Ändert den kompletten Text auf schwarz.
6
        private void btn_uncolor_Click(object sender, EventArgs e)
7
        {
8
            richTextBox1.SelectAll();
9
            richTextBox1.SelectionColor = Color.Black;
10
        }
11

12
// Button "btn_color" erstellen und Click Event hinzufügen
13
// Ändert den gewünschten Text auf die gewünschte Farbe.
14
        private void btn_color_Click(object sender, EventArgs e)
15
        {
16
            rtb_ChangeColor("grün", Color.Green);
17
            rtb_ChangeColor("rot", Color.Red);
18
            rtb_ChangeColor("blau", Color.Blue);
19
            rtb_ChangeColor("dies", Color.Brown);
20
        }
21

22
// Funkition erstellen:
23
private void rtb_ChangeColor(string Text, Color Farbe)
24
        {
25
            int startPosition = -1;
26
            do
27
            {
28
                startPosition = richTextBox1.Find(Text, startPosition+1, RichTextBoxFinds.None);
29
                if (startPosition != -1)
30
                {
31
                    richTextBox1.Select(startPosition, Text.Length);
32
                    richTextBox1.SelectionColor = Farbe;
33
                }
34

35
            } while (startPosition != -1);
36
        }

Ist nicht schön und verbesserungsfähig, bei dem Code geht es nur ums 
Prinzip.

Ps.: Der Link zu Stackoverflow meldet "Access Denied" IP ist geblockt, 
geht es nur mir so?
#6970183
Lesenswert?

1
public static class RichTextBoxExtensions
2
{
3
    public static void AppendText(this RichTextBox box, string text, Color color)
4
    {
5
        box.SelectionStart = box.TextLength;
6
        box.SelectionLength = 0;
7

8
        box.SelectionColor = color;
9
        box.AppendText(text);
10
        box.SelectionColor = box.ForeColor;
11
    }
12
}
13

14
...
15
box.AppendText("roter Text", Color.Red);
16
box.AppendText("grüner Text", Color.Green);
17
box.AppendText("blauer Text", Color.Blue);
18
...
merciless

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren