Forum: PC-Programmierung C# hex string color


von Leo (Gast)


Lesenswert?

Hallo,

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.

von Sebastian R. (sebastian_r569)


Lesenswert?

Okay.

von Norbert (Gast)


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.

von Leo (Gast)


Lesenswert?

Ich weiß nicht wie man dies in C# umsetzen kann.

von Leo (Gast)


Lesenswert?

Der String wird ja angezeigt.

von Sebastian R. (sebastian_r569)


Lesenswert?

Leo schrieb:
> Ich weiß nicht wie man dies in C# umsetzen kann.

Das ist schade.

von Dirk K. (merciless)


Lesenswert?


von Holger L. (max5v)


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?

: Bearbeitet durch User
von Schlaumaier (Gast)


Lesenswert?

Holger L. schrieb:
> Ps.: Der Link zu Stackoverflow meldet "Access Denied" IP ist geblockt,
> geht es nur mir so?

Ja

von Schlaumaier (Gast)


Lesenswert?

Die alternative zu den Code oben ist, du übergibst den Steuercode mit in 
den Text.

https://de.wikipedia.org/wiki/Rich_Text_Format

von Dirk K. (merciless)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.