Feedback

Einfaches Text-Highlighting

Sprache: C#

Dieses Beispiel soll lediglich zeigen, wie man mit wenigen Zeilen Code, ein einzelnes Stichwort farblich hervorheben kann. Dies kann auch als Vorlage für etwas komplexeres dienen. In diesem Beispiel wird in der RichTextBox jedes eingegebene Wort "Snippet" blau gefärbt. Unterstützte Sprachversionen: C# ab Version 1.0 [b][Notiz: CH20100805S0003CS10ME][/b]
/*
[+] #region [Restliche Using-Direktiven]
*/
using System.Drawing;
using System.Windows.Forms;
using System.Text.RegularExpressions;

/*
[+] #region [Restlicher WindowsForms-Code]
*/

private void richTextBox1_TextChanged(object sender, EventArgs e)
{
    Regex exp = new Regex("Snippet");
    int select = richTextBox1.SelectionStart;
    
    foreach (Match m in exp.Matches(richTextBox1.Text))
    {
        richTextBox1.Select(m.Index, m.Value.Length);
        richTextBox1.SelectionColor = Color.Blue;
        richTextBox1.SelectionStart = select;
        richTextBox1.SelectionColor = Color.Black;
    }
}
/*
[+] #region [Restliche Using-Direktiven]
*/
using System.Drawing;
using System.Windows.Forms;
using System.Text.RegularExpressions;

/*
[+] #region [Restlicher WindowsForms-Code]
*/

private void richTextBox1_TextChanged(object sender, EventArgs e)
{
    Regex exp = new Regex("Snippet");
    int select = richTextBox1.SelectionStart;
    
    foreach (Match m in exp.Matches(richTextBox1.Text))
    {
        richTextBox1.Select(m.Index, m.Value.Length);
        richTextBox1.SelectionColor = Color.Blue;
        richTextBox1.SelectionStart = select;
        richTextBox1.SelectionColor = Color.Black;
    }
}

4 Kommentare

  1. @Jan: Wie hast du denn das Syntax-Highlighting für diese Seite programmiert? Mit JavaScript oder C#? Oder vielleicht mit einer anderen Sprache sogar? 😛

  2. @Jan: Ich habe im WebArchiv noch einen Download gefunden. 🙂

    Ich versuche aus der mehr oder weniger grossen Anzahl aus Code-Zeilen was Einfacheres zu basteln. Und wenn ich den Code sogar ganz verstehen sollte, werde ich gleich auch noch versuchen ihn noch ein bisschen zu erweitern. Aber das kann ich noch nicht versprechen. 😛