2009-07-25 2 views
0

Im пытается сделать следующее вещь:RegExp C# и RichTextBox

1) с использованием регулярных выражений, чтобы соответствовать всем строкам, которые имеют следующую картину «@username» < < сделал я получил образец @([A-z09_-]){4,20}

2) для синтаксического анализа текста из богатого текстового поля и для окраски этих шаблонов «@somethign» в цвете

3) сделайте их кликабельными & при нажатии, чтобы вставить щелкнутую строку в текстовое поле (только если это возможно без тонны кода &)

хорошо. thats в основном это .. любая помощь приветствуется :) ' Cheers :)

ответ

2

Используйте regexp, чтобы найти все происшествия с именем «@username» и сохранить их в коллекции. Затем перебирать эту коллекцию и сделать это:

int startpos = 0; 
if ((startpos = richTextBox1.Find(name)) > 0) 
{ 
    richTextBox1.SelectionStart = startpos; 
    richTextBox1.SelectionLength = name.Length; 
    richTextBox1.SetSelectionLink(true); 
} 

Обратите внимание, что это использует расширенный RichTextBox найденный здесь: Link. (SetSelectionLink не входит в класс richalidbox в vanilla.)