2009-07-25 15 views
0

我试着做以下事情:使用正则表达式匹配具有以下模式“@用户名”的所有字符串正则表达式C#和RichTextBox的

1)< <做我得到了图案@([A-z09_-]){4,20}

2)解析从富文本框中的文本和上色这些模式“@somethign”在色彩

3)让他们点击&点击插入文本框(点击的字符串只有当这是可能的,而不吨代码时&库)

好。多数民众赞成基本上.. ..任何帮助表示赞赏:)' 干杯:)

回答

2

使用正则表达式查找“​​@username”的所有发生,并将它们存储在集合中。然后通过这个集合迭代,并做到这一点:

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

注意此使用此处发现了一个扩展的RichTextBox:Link。 (SetSelectionLink不在香草richtextbox类中。)