2009-07-25 7 views
0

Im essayant de faire la chose suivante:RegExp C# et richtextbox

1) en utilisant regex pour correspondre à toutes les chaînes qui ont le motif suivant "@username" < < fait je suis le modèle @([A-z09_-]){4,20}

2) pour analyser le texte riche zone de texte et à la couleur de ces motifs « @somethign » dans une couleur

3) les rendre cliquables & lorsque vous cliquez dessus pour insérer la chaîne cliqué dans la boîte de texte (uniquement si cela est possible sans tonnes de code & bibliothèques)

bien. C'est essentiellement ça .. toute aide est appréciée :) ' Cheers :)

Répondre

2

Utilisez regexp pour trouver toutes les occurrences de "@username", et les stocker dans une collection. Puis itérer cette collection et faire:

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

Notez que celui-ci utilise un richtextbox étendu trouve ici: Link. (Le SetSelectionLink n'est pas dans la classe richtextbox vanilla.)